Hi Chris,

Thank you for the detailed explanation.

I am using a CP210x from Sysmocon. I understand that this has a pre-programmed EEPROM and so does not require a driver. Yet, when I run ccch_scan in burst_ind branch on Debian Linux, it fails both speeds.

The Tutorial does not mention need for installing a SiLabs driver, and all attempts to install the Linux version of their driver fails. Can you confirm if the driver is required?

But the same code in Windows works just fine as Windows permits selection of any arbitrary speed. Of course I needed to install the SiLabs USB to UART bridge driver for Windows to recognise the device in the first place.

B.


On Wed, Dec 26, 2012 at 2:05 AM, Christian Vogel <vogelchr@vogel.cx> wrote:
Hi Bhaskar11,


On Tue, 25 Dec 2012 15:35:03 +0100, Bhaskar11 <niceguy108@gmail.com> wrote:
If the first attempt to switch to 406250 succeeds, the function exits and
never reaches the I_HAVE_A_CP210x code which would switch to a higher speed!

Is this a bug? Or is the lower speed good enough for burst_ind? In which
case why bother with the I_HAVE_A_CP210x option?

that logic is correct.


Or have I missed something obvious?

It's not about switching to a slighly higher baudrate of B460800 but rather to
switch to the highest baudrate that can sensibly be used on the phone uart which
is the non-standard 406250. Some USB/Serial converter chips allow to select almost
any baudrate you want out of the box, but CP210x doesn't. If you have a CP210x you
modify the eeprom in the serial adapter so that when Linux requests the "Standard"
460k, it actually uses the odd 406k.

http://bb.osmocom.org/trac/wiki/Hardware/CP210xTutorial

In src/target/firmware/calypso/uart.c there's the uint16_t divider[] table
of baudrate dividers, and the two highest speeds supported by the calypso
chipset are 406,250 or 812,500 bits per second.

Silabs Application note AN205 explains the Silabs side of things.
  http://www.silabs.com/Support%20Documents/TechnicalDocs/an205.pdf

Greetings,

        Chris