The BCM4330 has a number of listed features that our SGS2s do not appear to have. For instance, the chip in question has listed support for Bluetooth 4.0+HS (so, I assume the Bluetooth low power standard) and FM Transmission/Receive, however all sources state that the SGS2 only supports up to Bluetooth 3.0, does not have Bluetooth high speed (virtually the same as Wifi direct, I'm told, but may not have the same level of uptake) and there are no references to FM transmission.
Without relevant APIs or sources I assume none of these unused features can be utilised. Is it a possibility that Samsung removed some components of the chip to reduce bulk?
What's confused me about this entire situation is that the original Galaxy S and the iPhone4 feature this same chipset, but there's not even a mention of Bluetooth3.0 even though they appear to support it . . . weird. Perhaps I've completely failed to understand the nature of these chipsets, but if I'm not being completely stupid then it'd be nice to explore how one could fiddle with our precious phones to extend its capabilities.
Bump
Sent from my GT-I9100 using XDA Premium App
HazzBazz said:
The BCM4330 has a number of listed features that our SGS2s do not appear to have. For instance, the chip in question has listed support for Bluetooth 4.0+HS (so, I assume the Bluetooth low power standard) and FM Transmission/Receive, however all sources state that the SGS2 only supports up to Bluetooth 3.0, does not have Bluetooth high speed (virtually the same as Wifi direct, I'm told, but may not have the same level of uptake) and there are no references to FM transmission.
Without relevant APIs or sources I assume none of these unused features can be utilised. Is it a possibility that Samsung removed some components of the chip to reduce bulk?
What's confused me about this entire situation is that the original Galaxy S and the iPhone4 feature this same chipset, but there's not even a mention of Bluetooth3.0 even though they appear to support it . . . weird. Perhaps I've completely failed to understand the nature of these chipsets, but if I'm not being completely stupid then it'd be nice to explore how one could fiddle with our precious phones to extend its capabilities.
Click to expand...
Click to collapse
Example:
Back then, at MWC 10, Samsung introduced the Samsung Omnia HD (i8910) which has alot of things AND an FM transmitter, when the device was actually launch, it didn't have the FM transmitter, modders and coders saw & knew that this device have the component, even proved with a secret code and an app they build, but no one has ever managed to get it to work.
So far of being a costumer at Samsung corp. I noticed 2 mistakes that they are repeating:
1. Samsung can't manage to get solid 30fps at 720p devices and 1080p.
2. Samsung rls products with an FM transmitter but they never support it and doing everything that we won't manage to get it work.
The fact that this chip is capable of performing all those tasks does not mean it is capable of doing all those task simultaneously. There might be some hardware challenges/contradictions between the different roles.
For instance, bluetooth 4.0 requires filtering above 3GHz of more than 10dB, while at the same time the chip is capable of Wifi on 5GHz; both are supposed to be on the same antenna so either you can not use the chip for Bluetooth 4.0 AND wifi 5GHz or you have to use some very complicated filter depending on which mode you're using. If they have not supplied this filter inside the chip then it becomes a bit complicated to use both modes.
The FM transceiver could very well be connected to the same internal power amplifiers as wifi but a wifi antenna does not look like an FM antenna.
It is not always possible (actually seldom) to use all the specifications of a chip at the same time with the same hardware setup. (Though often the user won't notice because it is not able to check the specification, like ultra low power and high speed often conflict.)
The features you mention are integrated into the chip itself, so it's not possible to "offload" them. However, they may leave out necessary off-chip components and/or enabling software.
For example, FM is popular in Korea. Many Samsung models targeted to the Korean Market include FM capability. It requires extra hardware though, including a rather primitive looking FM antenna. The corresponding models for other parts of the world leave this out. I presume Samsung doesn't see the popularity of FM in other parts of the world to be enough to make up for the extra cost in the handset.
Drivers and such require work, too. So while the chip may support the capability, they may postpone the software development for various reasons. If the hardware support is fully intact, it might be possible to make something work, but it could require some very deep hacking.
requist's response is interesting and seems like a possibility, although a quick reading of the Broadcom product page seems to suggest they've accounted for mixing capabilities in the chip design. Hard to tell without more detailed info.
Disclaimer: I'm not an official spokesperson. Opinions expressed here are mine and not those of my employer.
requist said:
The fact that this chip is capable of performing all those tasks does not mean it is capable of doing all those task simultaneously. There might be some hardware challenges/contradictions between the different roles.
For instance, bluetooth 4.0 requires filtering above 3GHz of more than 10dB, while at the same time the chip is capable of Wifi on 5GHz; both are supposed to be on the same antenna so either you can not use the chip for Bluetooth 4.0 AND wifi 5GHz or you have to use some very complicated filter depending on which mode you're using. If they have not supplied this filter inside the chip then it becomes a bit complicated to use both modes.
The FM transceiver could very well be connected to the same internal power amplifiers as wifi but a wifi antenna does not look like an FM antenna.
It is not always possible (actually seldom) to use all the specifications of a chip at the same time with the same hardware setup. (Though often the user won't notice because it is not able to check the specification, like ultra low power and high speed often conflict.)
Click to expand...
Click to collapse
time division multiplexing.
Dirty_Jerz said:
time division multiplexing.
Click to expand...
Click to collapse
That does not solve hardware conflicts.
Hi all, new poster here.
Up until recently I wasn't very much interested in acquiring a smartphone. As I'm rather curious, I finally decided to make that technological leap.
Having read about inherent insecurity of such devices, wanted to know what can be done to make them more... ehm, "safe".
Going for android, there seem to be lots of ways hardening the system, but what about baseband RTOS? As I understand, no amount of security
can stop it from controling phone's funcionality. Cryptophone seems to deploy a hardware based firewall on older Samsung phones where
CPU and baseband don't share direct memory, what are the possibilities of doing the same with SOC that shares it? XEN?
Second point - SIM security. Having read Nohl's research on its vulnerability, is it possible to code TurboSIM to reject OTA updates?
If there is no way of separating baseband from CPU, how practical can one be by combining battery powered mifi dongle in one pocket,
and airplane-mode enabled smartphone in the other? Any recommendations?
For starters, I'm considering Moto G - what can I do in order to secure it?
Should I go for newely presented Blackphone instead? Is it all just hype or a real deal?
Perhaps I should wait for Neo900? Quote from their website: "Neo900 won't share system RAM with the modem and system CPU will always have
full control over the microphone signal sent to the modem. You can think of it as a USB dongle connected to the PC, with you in full control
over the drivers, with a virtual LED to show any modem activity."
Apologies for somewhat lenghty post. All help is much appreciated.
bump
Hello everyone.
Berfore I write anything, I am aware that ARM processors are not nearly powerfull enought for this to pay off, but I have some spare time on my hands and an old android phone (samsung galaxy S) that has no other use whatsoever.
So, here is what I was thinking:
Is there a way to completely strip the phone of android, so it runs an os (preferrably a flavour of linux) that is as easy on resources as possible and is capable of running wireless drivers and mining software. My knowledge on this part is full of holes, so there are several questions I would like an answer to:
1. Can an android phone (running an ARM processor) run ONLY a distro of linux. I do not mind loosing the phone's capabilities (camera, GSM, touchscreen...). It needs to support a usb mouse and keyboard, a wireless connection and basically run as low on power as possible.
2. Where would I start when reading up on such a thing?
3. Is there already such a thing out there and I'm just incapable of finding it?
Again, I just want this to be a fun project, I bet a lot of you guys have useless old hardware laying around, let's put them to work
JasonXtreme said:
Hello everyone.
Berfore I write anything, I am aware that ARM processors are not nearly powerfull enought for this to pay off, but I have some spare time on my hands and an old android phone (samsung galaxy S) that has no other use whatsoever.
So, here is what I was thinking:
Is there a way to completely strip the phone of android, so it runs an os (preferrably a flavour of linux) that is as easy on resources as possible and is capable of running wireless drivers and mining software. My knowledge on this part is full of holes, so there are several questions I would like an answer to:
1. Can an android phone (running an ARM processor) run ONLY a distro of linux. I do not mind loosing the phone's capabilities (camera, GSM, touchscreen...). It needs to support a usb mouse and keyboard, a wireless connection and basically run as low on power as possible.
2. Where would I start when reading up on such a thing?
3. Is there already such a thing out there and I'm just incapable of finding it?
Again, I just want this to be a fun project, I bet a lot of you guys have useless old hardware laying around, let's put them to work
Click to expand...
Click to collapse
Well, first of all using a Galaxy S as a mining rig would be very inefficient. It has a too small and old GPU, even on a Nexus 6 it would take forever to make even a LiteCoin or DogeCoin. So no, that's not really what you should do with it. The best way is to turn it into a mediacenter. You heard of XBMC?
Here is a really great guide on how to do that: http://forum.xda-developers.com/xpe...de-cracked-screen-beast-life-tv-xbmc-t2907921
I guess this is the best what you can do with your old phone. :good:
Besides, I sometimes use mine to experiment things in terms of Android. Like building an experimental ROM and flash on it, because a brick is not so terrible on such a old device.
Hope I could help you!
Thank you for your input
As I've stated, I am aware that I am barking completely up the wrong tree, but nontheless - I am interested in rewiring the SGS into a linux-only machine, meaning I want to eliminate android completely. The mining is just a bonus here, even if it does produce mHashes
you can mine with the app called miner gate . I mine on my s3 korean and get an hashrate of 8 mb s easily available on play store
Hello everyone,
I have a Erisin S2046B in my 2001 BMW E46 and found information, that the RK3188 has several external buses which are partly currently not used in the device. Being an electrical engineer and having some projects in my mind which require some sort of external communication to e.g. microcontrollers, I would like to make use of them.
Did anyone go through the effort to use one of these interfaces?
I read in the sound processor thread (http://forum.xda-developers.com/and.../mtc-sound-controlling-bd37xxx-sound-t3234660), that I2C is used there but only limited information on what is done exactly, as it is just a matter of reconnecting the bus lines from the mcu to the rk3188.
I'm not quite sure, if this is the right section, but I would not really consider this "software development". Anyway, if one finds it inappropriate, I would kindly ask a mod to move it to another section
This is great, hopefully it's with guys like yourself tinkering away at these devices we end up with a how new sub-section of interesting mods that can be done for those that like to take stock and improve on it..
Bookmarked for reading as you go through this ... Look forward to some.positive outcomes...
@LC4T, can you be more clear as to what do you plan to achieve? It is no problem to attach another slave (or more) to existing I2C bus, as this bus is a multi-slave in its nature. There's no need to find any interfaces not in use, you are free to use existing, well known one.
As I already mentioned in my posting, I personally plan to connect an external microcontroller and exchange data between the µC and the RK3188. As I don't want to fit the circuitry inside the erisin enclosure, I2C is not the preferable solution.
The principle of I2C and its architecture is known to me, I have already build hardware using I2C But as the existing I2C bus is already connected to at least one slave device, I would be careful with hooking up another one without knowing exactly, what's happening on the bus already. Worst case would be to make the whole existing system unstable. I'd rather use SPI oder UART for my purpose.
In general, this thread should not be seen limited to my intentional use but some sort of collection of information on which buses are present, usable and in use - knowledge base style, so to speak
What's the first solution that comes to your mind when you think of doing something interesting with your I2C?
Some of these units do CANBUS. I'm not sure if there is separate hardware in them or just hookups.
I plan on installing an engine block heater (webasto thermo top c). With the universal wiring kit and control unit, you're only able to set three starting times with a fixed heating time. Additional control units for remote control are quite limited in range and functionality, the "cheap ones" (~200€) only offer "start" and "stop" with the only feedback if the command reached the unit being a blinking led, the ones with the ability to set the starting time from the distance (they claim it works up to 1km depending on the building density) is 350€... There are also GSM units available but also quite expensive and with few functions.
So including a microcontroller would fix all that
If I got it right, the CAN unit is a standalone device, that only decodes relevant data (e.g. gearbox in reverse), so no communication with the android device itself
LC4T said:
I plan on installing an engine block heater (webasto thermo top c). With the universal wiring kit and control unit, you're only able to set three starting times with a fixed heating time. Additional control units for remote control are quite limited in range and functionality, the "cheap ones" (~200€) only offer "start" and "stop" with the only feedback if the command reached the unit being a blinking led, the ones with the ability to set the starting time from the distance (they claim it works up to 1km depending on the building density) is 350€... There are also GSM units available but also quite expensive and with few functions.
So including a microcontroller would fix all that
If I got it right, the CAN unit is a standalone device, that only decodes relevant data (e.g. gearbox in reverse), so no communication with the android device itself
Click to expand...
Click to collapse
I believe there are can bus controllers for that device.
You could take a look at IOIO-OTG boards. it might offer some features.
You can make your own can bus for the devices you want to control and use available can bus adapters.
If you're talking about the webasto heater, yes, there are control units with CAN functionality but they are OEM specific (e.g. VW/Audi, Mercedes, BMW,...) and not universal. Also, adding just another interface is not what I intended to do when there are several of them, mostly unused already available
Again: I don't want to use this thread for my specific problem but as a general thread on using the interfaces already present in the unit
LC4T said:
If you're talking about the webasto heater, yes, there are control units with CAN functionality but they are OEM specific (e.g. VW/Audi, Mercedes, BMW,...) and not universal. Also, adding just another interface is not what I intended to do when there are several of them, mostly unused already available
Again: I don't want to use this thread for my specific problem but as a general thread on using the interfaces already present in the unit
Click to expand...
Click to collapse
Sure. Sure. I like the idea of tapping into the onboard hardware, but it might be good to talk about the limitations and optimal use cases for doing so.
For your case I think you can solve your need without tapping in if the objective is to get it working quickly. If the geek factor is more important then its a moot point.
You could probably tap in using something like this:
sandboxelectronics.com/?product=active-i2c-long-cable-extender-p82b715-module
That might help cut down on noise if you want to run it around the car.
Here's my thoughts.
If you need to control some external DIY device, you need to go with USB ports, which are already available in our devices.
They are just designed to communicate with external world, opposite to I2C or SPI, which are designed for in-system communications only.
Here we have two options:
1. Use native USB communication:
On the headunit side - libusb library which is well-known in Linux world. It might even happen that it is already compiled into the kernel (need to check); otherwise, a libusb.ko module needs to be compiled and loaded.
Nowadays there are many microcontrollers with USB onboard for direct use; and even simpliest MCUs like AVR attiny/atmega can use USB via V-USB library (I've done some just-for-fun projects with it).
2. Use a cheap USB-Serial converter to get a new serial port on a headunit's side. On the MCU side, you'll get a standard UART, which is much simplier than USB for MCU programming.
And returning to your @LC4T idea.
Are you planning to use head unit only as a control panel for your device, so that you only need a big touch screen with a nice UI to set up your externa DIY device, then go off letting that device to work alone? Don't you plan having your head unit always turned on to track time and on/off your heater? Because latter solution is really bad, as our head units are very power hungry.
7floor said:
Here's my thoughts.
If you need to control some external DIY device, you need to go with USB ports, which are already available in our devices.
They are just designed to communicate with external world, opposite to I2C or SPI, which are designed for in-system communications only.
Here we have two options:
1. Use native USB communication:
On the headunit side - libusb library which is well-known in Linux world. It might even happen that it is already compiled into the kernel (need to check); otherwise, a libusb.ko module needs to be compiled and loaded.
Nowadays there are many microcontrollers with USB onboard for direct use; and even simpliest MCUs like AVR attiny/atmega can use USB via V-USB library (I've done some just-for-fun projects with it).
2. Use a cheap USB-Serial converter to get a new serial port on a headunit's side. On the MCU side, you'll get a standard UART, which is much simplier than USB for MCU programming.
Click to expand...
Click to collapse
The IOIO OTG solution gets you here plus there are established libraries etc.
github.com/ytai/ioio/wiki
The OTG version allows it to be powered from the host also. That could make it easy to develop and move around.
github.com/ytai/ioio/wiki/Getting-To-Know-The-IOIO-OTG-Board
pounce said:
The IOIO OTG solution gets you here plus there are established libraries etc.
github.com/ytai/ioio/wiki
The OTG version allows it to be powered from the host also. That could make it easy to develop and move around.
github.com/ytai/ioio/wiki/Getting-To-Know-The-IOIO-OTG-Board
Click to expand...
Click to collapse
From $20 for the board on AliExpress to almost $40 elsewhere? No, thanks These guys want too much for their solution. This is the price of a Raspberry PI, a complete computer.
For that price, I would prefer putting a Raspberry under dashboard, connect with WiFi, for example, and have much more flexibility than gives the IOIO.
As to IOIO - as a prototyping board it might be useful, but not for a well-finished DIY project based on a single cheap MCU with a minimum of components, where total cost of it would be much lower than cost of that board.
It is like using ATmega256-based Arduino boards for the purpose of watching a button and blinking a LED, where the $0.5 worth ATtiny13 is an overhead.
Such a boards are probably good for Hackaton events, where you have to show something working after a few hours of quick-and-dirty work, but not for thoroughly designed DIY project.
Depends on how much you value your time and what an existing product offers you for your solution. Many people aren't as price sensitive. I certainly wasn't suggesting the IOIO as the only solution, but for an open ended or more generic solution to get hardware support external to the head unit is generally fits the bill. Established libs for interacting saves some time. Nice bunch of people put it together and there have been some fun projects.
Like I mentioned before, it might be a good idea to discuss what the objective would be to adding smart hardware in the solution through, I2C, USB, bluetooth, wifi or whatever. I think the OP is looking to discuss the general idea and not super specific solutions that might lead a person to pic a very specific ic and com. Well, I know that was the purpose because the OP has redirected me to the point.
You bring up a good point though. You say you would rather put Pi under the dash. I would also for controlling things. In fact Pi or some duino realtime solution is always going to be better for interacting with an auto. This is especially the case when the purpose might be controlling something that is powered like a motor or something life critical. At this point though we are not talking about android or these head units. You are talking about perhaps the method of communication between two systems. Not really for this forum.
---------- Post added at 01:05 PM ---------- Previous post was at 12:46 PM ----------
I'd like to have more input/output trigger wires for events. We have a backup wire, but I'd like more for other things. An example might be to support a passenger side view camera. Sure, there are ways to hack it in by switching the backup video input, but that's a simple example. Power on a wire sends an event in android on the unit.
Do we have GPIO possibility on any of these units?
CanBus via Uart?
Does anyone know how the CanBus connection works? My MTCB Unit came with an adapter box which turns some messages into external signals (like illumination, reverse), but also seems to forward messages via serial into my Head Unit. At least that's how i guess that the steering wheel buttons are working.
Now, there are some messages that i wish to interpret and send, and also some i would interpret different. My idea was to get some kind of filter (maybe software, maybe a dedicated micro controller) in between the CanBus adapter and the service on my head unit. But right now, i have no idea how to verify my understanding of the setup, since no tty device on the HU seems to directly reflect my button presses. There's one, that pours out something unreadable on key press, but this also does it if i touch the screen, so i guess that's not the CanBus adapter itself.
I suspect that the information in already interpret before it gets into the android system, and only the relevant messages are forwarded, or even pre-processed. I suspect that the only way to get to the signals is to listen on the CanBus adapters RX/TX lines, and maybe finally put an microcontroller in between. If unlucky, the adapter might also filter out messages before i can get them, and i need to access the CanBus directly.
htt p://i.imgur.com/P1QzXta.jpg?1 << CanBus Adapter
I would appreciate any hints on this topic, especially information on the CanBus Adapter.
From what I can see on the PCB and I have read about the can adapter:
The adapter itself only interprets data from either can bus or analog signals and forwards them to the android unit via some sort of serial interface, most probably UART. As you have almost no way to get an inside look into the software running on the microcontroller, I would suggest to design a seperate device, that way you can be 100% sure to get all the messages and filter yourself.
I ordered some can bus adapters to see what i can read. Maybe i will first have a look into the data on the serial line when i finished moving house and had time to unpack my gear
I have a can bus HU, when i listen to the radio or music player, i haven't information on display of my car (CLK MERCEDES). I read the new units have dual can bus and information of radio appears on car display. Ther's a way to modify my HU to dual can bus? I have to change a can bus decoder? My can bus decoder is B200.
Regards
7floor said:
.... There's no need to find any interfaces not in use, you are free to use existing, well known one.
Click to expand...
Click to collapse
Well known interfaces - that's the keyword.
For example I would like to output current FM-frequency, radio station name, song title to the existing (factory) FIS display in a car. Via CAN bus, because the display talks CAN.
Now I would at least have to know which units have CAN capability.
Yes, I could go the USB to RS232 to CAN dasy-chain-adapter route, but I consider that all but a clean solution
Oskar