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