On Feb 4, 2006, at 4:39 AM, David Vescovi wrote:
I would like to support the new BT module in our WE_DIG CE BSP also. I understand the ROK104001 module defaults to 56k and new PBA31307 defaults to 115K on startup. To switch the baudrate you need to send a custom manufacture specific (Ericsson radio?) HCI command. I have not been able to find this documented anywhere. Any help where I can locate this info? Are you planning on using 921k as the final working baudrate?
David, I'm working on this change right now for linux. I've just committed yesterday a patch to hciattach which probes at different baud rates to enable starting up either the old ROK or the new PBA module; I've also got baud-rate changing working on my local working copy but haven't committed it yet because what I'm doing is different from what the docs say to do, so I'm waiting to hear back official confirmation from Infineon that what I'm doing won't bork anyone's module (I broke one myself during testing when I followed the directions in the docs; changed things to the way I do it now and it's working).
The structure of the patch I just committed ( http://tinyurl.com/7vo72 ) basically probes, detects which module is there by asking the module what it is, and then branches either to "ericsson" initialization code for the ROK104001, or to "infineon" code for the PBA31307 -- the two modules do baudrate switching using different vendor-specific HCI codes. The reason that I'm probing for not only 57600 and 115200 but also the other speeds is because the baud rate change in the PBA31307 is supposed to be "sticky" because it's documentedly being written to EEPROM so that after resets, the module will then supposedly start up at the new baudrate -- but I've discovered that this doesn't always seem to be the case; sometimes you switch baud rates, but a subsequent reset will push you back to 115200.
So for now, if you copy the structure of the patch above, once I get the infineon baud-changing stuff done you should be able to drop something similar into your code in that infineon() stub function.
Note that the full hciattach program is licensed under GPL. The *patched* hciattach is also then GPL, but the patch itself, entirely written by me, you can treat as BSD-licensed if that helps you be able to read it and copy its ideas into your CE BSP code.
Unfortunately, I can't directly share the docs on the Infineon or the ericsson module. But I have got approval from Infineon to share the code I produce (and include prolific comments therein) once I have it completed. Be aware that for the PBA31307, the prolific comments will include a lot of "Watch out! Changing this number to something else can easily brick your module!" since it's supposedly writing to EEPROM which means you can get stuck in a bad communication mode.