Hi all,
We are porting Huawei MU509 3G Module to our 6q board on Android JB 4.3
After we add power-on time sequence and set "Wakein" to high, the module works well, ttyUSB devices could be detected and baseband version is correct.
But, when we plugin sim-card, baseband version shows "unknown", network/signal strength/mobile network type are incorrect.
We checked the log, seems MU509 goes to “selective suspend” , then resume, and changing the state endlessly.
Anyone meet such issue? any suggestion for it?
Here's the log and huawei option.c
================================================================
drivers/usb/serial/option.c: option_write_room: 12288
drivers/usb/serial/option.c: option_write: endpoint 1 buf 1
drivers/usb/serial/option.c: option_outdat_callback
drivers/usb/serial/option.c: option_outdat_callback
fxz-option_suspend entered
fxz-option_suspend entered
fxz-option_suspend entered
drivers/usb/serial/option.c: option_indat_callback: d631f7e0
drivers/usb/serial/option.c: option_indat_callback: nonzero status: -2 on endpoint 02.
drivers/usb/serial/option.c: option_indat_callback: d631f760
drivers/usb/serial/option.c: option_indat_callback: nonzero status: -2 on endpoint 02.
drivers/usb/serial/option.c: option_indat_callback: d631f6e0
drivers/usb/serial/option.c: option_indat_callback: nonzero status: -2 on endpoint 02.
drivers/usb/serial/option.c: option_indat_callback: d631f660
drivers/usb/serial/option.c: option_indat_callback: nonzero status: -2 on endpoint 02.
drivers/usb/serial/option.c: option_instat_callback
drivers/usb/serial/option.c: option_instat_callback: urb d631f860 port d7ace800 has data d63d1860
option: option_instat_callback: error -2
fxz-option_resume entered
drivers/usb/serial/option.c: Submitted interrupt URB for port 0 (result 0)
fxz-option_resume entered
drivers/usb/serial/option.c: option_resume: No interrupt URB for port 0
fxz-option_resume entered
drivers/usb/serial/option.c: option_resume: No interrupt URB for port 0
drivers/usb/serial/option.c: option_indat_callback: d631f7e0
drivers/usb/serial/option.c: option_outdat_callback
drivers/usb/serial/option.c: option_outdat_callback
drivers/usb/serial/option.c: option_indat_callback: d631f660
drivers/usb/serial/option.c: option_instat_callback
drivers/usb/serial/option.c: option_instat_callback: urb d631f860 port d7ace800 has data d63d1860
drivers/usb/serial/option.c: option_instat_callback: signal x3
drivers/usb/serial/option.c: option_dtr_rts
drivers/usb/serial/option.c: option_send_setup
drivers/usb/serial/option.c: option_send_setup
drivers/usb/serial/option.c: option_chars_in_buffer: 0
drivers/usb/serial/option.c: option_set_termios
drivers/usb/serial/option.c: option_send_setup
drivers/usb/serial/option.c: option_dtr_rts
drivers/usb/serial/option.c: option_send_setup
drivers/usb/serial/option.c: option_chars_in_buffer: 0
drivers/usb/serial/option.c: option_chars_in_buffer: 0
drivers/usb/serial/option.c: option_instat_callback
drivers/usb/serial/option.c: option_instat_callback: urb d631f860 port d7ace800 has data d63d1860
drivers/usb/serial/option.c: option_instat_callback: signal x3
fxz-option_suspend entered
fxz-option_suspend entered
fxz-option_suspend entered
drivers/usb/serial/option.c: option_indat_callback: d631f7e0
drivers/usb/serial/option.c: option_indat_callback: nonzero status: -2 on endpoint 02.
drivers/usb/serial/option.c: option_indat_callback: d631f760
drivers/usb/serial/option.c: option_indat_callback: nonzero status: -2 on endpoint 02.
drivers/usb/serial/option.c: option_indat_callback: d631f6e0
drivers/usb/serial/option.c: option_indat_callback: nonzero status: -2 on endpoint 02.
drivers/usb/serial/option.c: option_indat_callback: d631f660
drivers/usb/serial/option.c: option_indat_callback: nonzero status: -2 on endpoint 02.
drivers/usb/serial/option.c: option_instat_callback
drivers/usb/serial/option.c: option_instat_callback: urb d631f860 port d7ace800 has data d63d1860
option: option_instat_callback: error -2
drivers/usb/serial/option.c: option_send_setup
drivers/usb/serial/option.c: option_chars_in_buffer: 0
drivers/usb/serial/option.c: option_set_termios
drivers/usb/serial/option.c: option_send_setup
drivers/usb/serial/option.c: option_write_room: 16384
drivers/usb/serial/option.c: option_write: endpoint 1 buf 0
drivers/usb/serial/option.c: option_write_room: 12288
drivers/usb/serial/option.c: option_write: endpoint 1 buf 1
fxz-option_resume entered
drivers/usb/serial/option.c: Submitted interrupt URB for port 0 (result 0)
fxz-option_resume entered
drivers/usb/serial/option.c: option_outdat_callback
drivers/usb/serial/option.c: option_outdat_callback
drivers/usb/serial/option.c: option_resume: No interrupt URB for port 0
fxz-option_resume entered
drivers/usb/serial/option.c: option_resume: No interrupt URB for port 0
fxz-option_suspend entered
fxz-option_suspend entered
fxz-option_suspend entered
drivers/usb/serial/option.c: option_indat_callback: d631f7e0
drivers/usb/serial/option.c: option_indat_callback: nonzero status: -2 on endpoint 02.
drivers/usb/serial/option.c: option_indat_callback: d631f760
drivers/usb/serial/option.c: option_indat_callback: nonzero status: -2 on endpoint 02.
drivers/usb/serial/option.c: option_indat_callback: d631f6e0
drivers/usb/serial/option.c: option_indat_callback: nonzero status: -2 on endpoint 02.
drivers/usb/serial/option.c: option_indat_callback: d631f660
drivers/usb/serial/option.c: option_indat_callback: nonzero status: -2 on endpoint 02.
drivers/usb/serial/option.c: option_instat_callback
drivers/usb/serial/option.c: option_instat_callback: urb d631f860 port d7ace800 has data d63d1860
option: option_instat_callback: error -2
Original Attachment has been moved to: option.c.zip
Hello blurence ,
I checked hardware documents of Huawei MU509, I feel the problems you encountered seem to be related to power up sequence, corresponding pins are following:
POWER
WAKEUP_IN
RESET
POWER_ON_OFF
Correct power up sequence is :
POWER-->POWER_ON_OFF(pull it down to LOW and hold 0.5s--1s)-->WAKEUP_IN(pull it up to HIGH, and delay 1s---3s)--->RESET(pull it down to LOW and hold 0.3s--1s, then pull it up to HIGH)
Please modify power up sequence and try again! If above advice can't resolve your issue, please contact Huawei or distributer and get help !
Regards,
Weidong
Thanks Weidong.
The power up sequence tips is useful, but not the root cause.
I updated the option.c/usb-wwan.c that provided by Huawei, now it works well.
Many thanks!