Occasional fail to initiate resume by incoming call, easy workaround proposed

Dieter Spaar spaar at openmoko.org
Tue Feb 10 23:23:30 CET 2009


Hello Werner,

Werner Almesberger wrote:
> Dieter, so it seems that I can avoid figuring out how to build the
> GSM firmware on Linux after all ;-) The fix should be easy: just
> add a call to LowGPIO(1) to UAF_Init in
> chipsetsw/drivers/drv_app/uart/uartfax.c
>   

I am glad to say that the fix is not that easy, so my part is not just 
doing the build
process for the new firmware ;-)

IO1 is low when the Calypso start up, so setting it again to low will 
not solve the
problem. I think the problem comes from the fact that CTS_MODEM does not
change and so the drivers is not aware that it has been stopped 
("tx_stopped_by_driver"
is not set) and so sees no reason to set IO1 to high next time it wants 
to send data.
So the fix most certainly means checking the CTS state in UAF_Init and 
setting
"tx_stopped_by_driver" accordingly.

I also checked that the Calypso UART has support for hardware-assisted flow
control. I will enable this flag, maybe someone can make a test and 
check if the
Calypso reacts immediately on the CTS line. The "AT+COPN" command sends
about 16 KByte of data, so this can probably used for the test.

I will see that I can make a test version of the firmware ready 
tomorrow, if I should
take care of testing the CTS line handling it might take longer.

Best regards,
  Dieter



More information about the openmoko-kernel mailing list