在AM335x移植EC20 4G模块驱动, 移植 完USB串口,插入USB 4G模块可以正常工作,但是拔出USB,就会在控制台不停的打印
option: option_instat_callback: error-1 -71 最后死机重启 ,打开内核的调试 dbg ,打印信息
musb-hdrc musb-hdrc.1: … next ep2 RX urb df38e7c0
musb-hdrc musb-hdrc.1: qh df2ddac0 urb df38e7c0 dev3 ep7in-intr, hw_ep 2, df388a80/10
musb-hdrc musb-hdrc.1: <– hw2 urb df38e7c0 spd3 dev3 ep7in h_addr02 h_port00 bytes 10
musb-hdrc musb-hdrc.1: RXCSR2 := 0020
musb-hdrc musb-hdrc.1: <== hw 3 rxcsr 1204, urb actual 0 (+dma 0)
musb-hdrc musb-hdrc.1: end 3 RX proto error
musb-hdrc musb-hdrc.1: complete df384ac0 IntCallback+0x0/0x2f8 (-71), dev3 ep9in, 0/8
musb-hdrc musb-hdrc.1: <== hw 10 rxcsr 1003, urb actual 0 (+dma 0)
musb-hdrc musb-hdrc.1: RX10 count 1, buffer df772c40 len 0/1
musb-hdrc musb-hdrc.1: read last packet
musb-hdrc musb-hdrc.1: <== hw 12 rxcsr 1204, urb actual 0 (+dma 0)
musb-hdrc musb-hdrc.1: end 12 RX proto error
musb-hdrc musb-hdrc.1: complete df3063c0 option_instat_callback+0x0/0x1a4 (-71), dev3 ep5in, 0/10
drivers/usb/serial/option.c: option_instat_callback
drivers/usb/serial/option.c: option_instat_callback: urb df3063c0 port de03f000 has data df2e1c80
option: option_instat_callback: error -71
请大神帮忙看一下,这是什么问题?谢谢
平台:TI AM3354 tq335x开发板
OS:ubuntu 12.04 arm
内核:3.2.0
Denny%20Yang99373:
感觉4G MODULE驱动可能有问题,相同的驱动放在PC上跑正常吗?
ming liu18:
回复 Denny%20Yang99373:
这个是内核的usb_serial 驱动啊,我还没添加4G MODULE的驱动,只是添加了 usb设备的pid和vid
ming liu18:
当拔下USB后,一直会产生触发 ti81xx_interrupt 中断函数
musb-hdrc musb-hdrc.1: ti81xx_interrupt musb-hdrc musb-hdrc.1: usbintr (0) epintr(18040000)musb-hdrc musb-hdrc.1: ** IRQ1 host usb0000 tx0000 rx1804musb-hdrc musb-hdrc.1: ** IRQ host usb0000 tx0000 rx1804musb-hdrc musb-hdrc.1: <== hw 2 rxcsr 1204, urb actual 0 (+dma 0)musb-hdrc musb-hdrc.1: end 2 RX proto errormusb-hdrc musb-hdrc.1: complete df38b840 option_instat_callback+0x0/0x1a4 (-71), dev3 ep7in, 0/10drivers/usb/serial/option.c: option_instat_callbackdrivers/usb/serial/option.c: option_instat_callback: urb df38b840 port df394c00 has data df2e0bc0option: option_instat_callback: error-1 -71musb-hdrc musb-hdrc.1: … next ep2 RX urb df38b840musb-hdrc musb-hdrc.1: qh df2c7cc0 urb df38b840 dev3 ep7in-intr, hw_ep 2, df389b00/10musb-hdrc musb-hdrc.1: <– hw2 urb df38b840 spd3 dev3 ep7in h_addr02 h_port00 bytes 10musb-hdrc musb-hdrc.1: RXCSR2 := 0020musb-hdrc musb-hdrc.1: <== hw 11 rxcsr 1004, urb actual 0 (+dma 0)musb-hdrc musb-hdrc.1: end 11 RX proto errormusb-hdrc musb-hdrc.1: complete df2dddc0 option_instat_callback+0x0/0x1a4 (-71), dev3 ep3in, 0/10drivers/usb/serial/option.c: option_instat_callbackdrivers/usb/serial/option.c: option_instat_callback: urb df2dddc0 port df2cc400 has data df2e0d40option: option_instat_callback: error-1 -71musb-hdrc musb-hdrc.1: … next ep11 RX urb df2dddc0musb-hdrc musb-hdrc.1: qh df2d4c00 urb df2dddc0 dev3 ep3in-intr, hw_ep 11, df3a5f40/10musb-hdrc musb-hdrc.1: <– hw11 urb df2dddc0 spd3 dev3 ep3in h_addr02 h_port00 bytes 10musb-hdrc musb-hdrc.1: RXCSR11 := 0020musb-hdrc musb-hdrc.1: <== hw 12 rxcsr 1204, urb actual 0 (+dma 0)musb-hdrc musb-hdrc.1: end 12 RX proto errormusb-hdrc musb-hdrc.1: complete df2dd3c0 option_instat_callback+0x0/0x1a4 (-71), dev3 ep5in, 0/10drivers/usb/serial/option.c: option_instat_callbackdrivers/usb/serial/option.c: option_instat_callback: urb df2dd3c0 port df2cc000 has data df2e0b00option: option_instat_callback: error-1 -71musb-hdrc musb-hdrc.1: … next ep12 RX urb df2dd3c0musb-hdrc musb-hdrc.1: qh df2d4bc0 urb df2dd3c0 dev3 ep5in-intr, hw_ep 12, df3a5540/10musb-hdrc musb-hdrc.1: <– hw12 urb df2dd3c0 spd3 dev3 ep5in h_addr02 h_port00 bytes 10musb-hdrc musb-hdrc.1: RXCSR12 := 0020musb-hdrc musb-hdrc.1: ti81xx_interrupt musb-hdrc musb-hdrc.1: usbintr (0) epintr(1c040000)musb-hdrc musb-hdrc.1: ** IRQ1 host usb0000 tx0000 rx1c04musb-hdrc musb-hdrc.1: ** IRQ host usb0000 tx0000 rx1c04musb-hdrc musb-hdrc.1: <== hw 2 rxcsr 0004, urb actual 0 (+dma 0)musb-hdrc musb-hdrc.1: end 2 RX proto errormusb-hdrc musb-hdrc.1: complete df38b840 option_instat_callback+0x0/0x1a4 (-71), dev3 ep7in, 0/10drivers/usb/serial/option.c: option_instat_callbackdrivers/usb/serial/option.c: option_instat_callback: urb df38b840 port df394c00 has data df2e0bc0option: option_instat_callback: error-1 -71musb-hdrc musb-hdrc.1: … next ep2 RX urb df38b840musb-hdrc musb-hdrc.1: qh df2c7cc0 urb df38b840 dev3 ep7in-intr, hw_ep 2, df389b00/10musb-hdrc musb-hdrc.1: <– hw2 urb df38b840 spd3 dev3 ep7in h_addr02 h_port00 bytes 10musb-hdrc musb-hdrc.1: RXCSR2 := 0020musb-hdrc musb-hdrc.1: <== hw 10 rxcsr 1003, urb actual 0 (+dma 0)musb-hdrc musb-hdrc.1: RX10 count 1, buffer df772c40 len 0/1musb-hdrc musb-hdrc.1: read last packetmusb-hdrc musb-hdrc.1: <== hw 11 rxcsr 0004, urb actual 0 (+dma 0)musb-hdrc musb-hdrc.1: end 11 RX proto errormusb-hdrc musb-hdrc.1: complete df2dddc0 option_instat_callback+0x0/0x1a4 (-71), dev3 ep3in, 0/10drivers/usb/serial/option.c: option_instat_callbackdrivers/usb/serial/option.c: option_instat_callback: urb df2dddc0 port df2cc400 has data df2e0d40option: option_instat_callback: error-1 -71musb-hdrc musb-hdrc.1: … next ep11 RX urb df2dddc0
user5904579:
回复 ming liu18:
麻烦问一下这个问题怎么解决了?谁有好的解决办法吗
yongqing wang:
回复 user5904579:
请问你使用的是那个版本的SDK?