This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

DM8168 USB鼠标问题



DM8168 USB接鼠标时,一些鼠标会经常断开连接。有的鼠标不会。接键盘和U盘之类都很稳定,没有问题。SDK使用官方最新的。这个会是什么原因造成?

  • 你用的是什么SDK?PSP的版本是多少?你用的是TI的EVM么?

  • 使用RDK 3.0,自己的板子,在EVM (udworks 的DVR开发套件)上试也是一样的情况。以前有使用过EZSDK 5.02版本,也是这样的情况。经常断开的鼠标,有时候都识别不出ID。

  • 你好!
       请按照下面的步骤把log贴一下:
    1.       Enable debug level:  echo D8 > /proc/driver/musb_hdrc.1 (or musb_hdrc.0 based on which port you tested).
    2.       Clear the logs by command “dmesg -c”
    3.       Check the interrupts counts “cat /proc/interrupts”
    4.       Reproduce the issue
    5.       Check the interrupts and dump the logs (dmesg)
    6.       cat /proc/driver/musb_hdrc.1 (or musb_hdrc.0)
  • 经过反复验证,我们使用的鼠标 使用原相 PAN3512DK 这颗芯片的都会在1分钟左右断开连接,然后重新识别。而其他的鼠标不会。这些都是在没有加载上层设备驱动的情况下。加载上层设备驱动后就不会断开连接。

    dmesg log :

    ti81xx_interrupt 876: usbintr (20) epintr(0)
    musb_interrupt 1643: ** IRQ peripheral usb0020 tx0000 rx0000
    musb_stage0_irq 494: <== Power=e0, DevCtl=19, int_usb=0x20
    musb_stage0_irq 803: DISCONNECT (a_host) as Host, devctl 19
    hub 1-0:1.0: rpm_resume flags 0x4
    usb usb1: rpm_resume flags 0x0
    usb usb1: rpm_resume returns 1
    hub 1-0:1.0: rpm_resume returns 0
    musb_hub_control 343: port status 00010100
    musb_hub_control 277: clear feature 16
    usb 1-1: USB disconnect, address 2
    musb_hub_control 343: port status 00000100
    musb_hub_control 343: port status 00000100
    musb_hub_control 343: port status 00000100
    musb_hub_control 343: port status 00000100
    musb_hub_control 343: port status 00000100
    hub 1-0:1.0: rpm_suspend flags 0x0
    hub 1-0:1.0: rpm_suspend returns 0
    ti81xx_interrupt 876: usbintr (10) epintr(0)
    musb_interrupt 1643: ** IRQ host usb0010 tx0000 rx0000
    musb_stage0_irq 494: <== Power=e0, DevCtl=3d, int_usb=0x10
    musb_stage0_irq 796: CONNECT (a_host) devctl 3d
    hub 1-0:1.0: rpm_resume flags 0x4
    usb usb1: rpm_resume flags 0x0
    usb usb1: rpm_resume returns 1
    hub 1-0:1.0: rpm_resume returns 0
    musb_hub_control 343: port status 00010301
    musb_hub_control 277: clear feature 16
    musb_hub_control 343: port status 00000301
    musb_hub_control 343: port status 00000301
    musb_hub_control 343: port status 00000301
    musb_hub_control 343: port status 00000301
    musb_hub_control 343: port status 00000301
    musb_hub_control 417: set feature 4
    musb_port_reset 158: root port reset stopped
    musb_hub_control 343: port status 00120303
    musb_hub_control 277: clear feature 20
    usb 1-1: new low speed USB device using musb-hdrc and address 3
    musb_start_urb 276: qh e1ddc0c0 urb ef9c9e80 dev0 ep0out, hw_ep 0, e1ddc100/8
    musb_ep_program 749: --> hw0 urb ef9c9e80 spd1 dev0 ep0out h_addr00 h_port00 bytes 8
    musb_write_fifo 273: TX ep0 fifo f080c420 count 8 buf e1ddc100
    musb_start_urb 314: Start TX0 pio
    ti81xx_interrupt 876: usbintr (0) epintr(1)
    musb_interrupt 1643: ** IRQ host usb0000 tx0001 rx0000
    musb_h_ep0_irq 1104: <== csr0 0200, qh e1ddc0c0, count 0, urb ef9c9e80, stage 1
    musb_h_ep0_continue 1041: start IN-DATA
    ti81xx_interrupt 876: usbintr (0) epintr(1)
    musb_interrupt 1643: ** IRQ host usb0000 tx0001 rx0000
    musb_h_ep0_irq 1104: <== csr0 0001, qh e1ddc0c0, count 8, urb ef9c9e80, stage 2
    ti81xx_interrupt 876: usbintr (0) epintr(1)
    musb_interrupt 1643: ** IRQ host usb0000 tx0001 rx0000
    musb_h_ep0_irq 1104: <== csr0 0201, qh e1ddc0c0, count 8, urb ef9c9e80, stage 2
    ti81xx_interrupt 876: usbintr (0) epintr(1)
    musb_interrupt 1643: ** IRQ host usb0000 tx0001 rx0000
    musb_h_ep0_irq 1104: <== csr0 0001, qh e1ddc0c0, count 2, urb ef9c9e80, stage 2
    musb_h_ep0_irq 1189: ep0 STATUS, csr 0842
    ti81xx_interrupt 876: usbintr (0) epintr(1)
    musb_interrupt 1643: ** IRQ host usb0000 tx0001 rx0000
    musb_h_ep0_irq 1104: <== csr0 0800, qh e1ddc0c0, count 0, urb ef9c9e80, stage 4
    musb_giveback 348: complete ef9c9e80 usb_api_blocking_completion+0x0/0x20 (0), dev0 ep0in, 18/64
    musb_hub_control 417: set feature 4
    musb_port_reset 158: root port reset stopped
    musb_hub_control 343: port status 00120303
    musb_hub_control 277: clear feature 20
    musb_start_urb 276: qh e1ddc100 urb ef9c9e80 dev0 ep0out, hw_ep 0, e1ddc080/8
    musb_ep_program 749: --> hw0 urb ef9c9e80 spd1 dev0 ep0out h_addr00 h_port00 bytes 8
    musb_write_fifo 273: TX ep0 fifo f080c420 count 8 buf e1ddc080
    musb_start_urb 314: Start TX0 pio
    ti81xx_interrupt 876: usbintr (0) epintr(1)
    musb_interrupt 1643: ** IRQ host usb0000 tx0001 rx0000
    musb_h_ep0_irq 1104: <== csr0 0200, qh e1ddc100, count 0, urb ef9c9e80, stage 1
    musb_h_ep0_continue 1038: start no-DATA
    musb_h_ep0_irq 1189: ep0 STATUS, csr 0860
    ti81xx_interrupt 876: usbintr (0) epintr(1)
    musb_interrupt 1643: ** IRQ host usb0000 tx0001 rx0000
    musb_h_ep0_irq 1104: <== csr0 0841, qh e1ddc100, count 0, urb ef9c9e80, stage 4
    musb_giveback 348: complete ef9c9e80 usb_api_blocking_completion+0x0/0x20 (0), dev0 ep0out, 0/0
    musb_start_urb 276: qh e1ddc0c0 urb ef9c9e80 dev3 ep0out, hw_ep 0, e1ddc100/8
    musb_ep_program 749: --> hw0 urb ef9c9e80 spd1 dev3 ep0out h_addr00 h_port00 bytes 8
    musb_write_fifo 273: TX ep0 fifo f080c420 count 8 buf e1ddc100
    musb_start_urb 314: Start TX0 pio
    ti81xx_interrupt 876: usbintr (0) epintr(1)
    musb_interrupt 1643: ** IRQ host usb0000 tx0001 rx0000
    musb_h_ep0_irq 1104: <== csr0 0200, qh e1ddc0c0, count 0, urb ef9c9e80, stage 1
    musb_h_ep0_continue 1041: start IN-DATA
    ti81xx_interrupt 876: usbintr (0) epintr(1)
    musb_interrupt 1643: ** IRQ host usb0000 tx0001 rx0000
    musb_h_ep0_irq 1104: <== csr0 0001, qh e1ddc0c0, count 8, urb ef9c9e80, stage 2
    ti81xx_interrupt 876: usbintr (0) epintr(1)
    musb_interrupt 1643: ** IRQ host usb0000 tx0001 rx0000
    musb_h_ep0_irq 1104: <== csr0 0201, qh e1ddc0c0, count 8, urb ef9c9e80, stage 2
    ti81xx_interrupt 876: usbintr (0) epintr(1)
    musb_interrupt 1643: ** IRQ host usb0000 tx0001 rx0000
    musb_h_ep0_irq 1104: <== csr0 0001, qh e1ddc0c0, count 2, urb ef9c9e80, stage 2
    musb_h_ep0_irq 1189: ep0 STATUS, csr 0842
    ti81xx_interrupt 876: usbintr (0) epintr(1)
    musb_interrupt 1643: ** IRQ host usb0000 tx0001 rx0000
    musb_h_ep0_irq 1104: <== csr0 0800, qh e1ddc0c0, count 0, urb ef9c9e80, stage 4
    musb_giveback 348: complete ef9c9e80 usb_api_blocking_completion+0x0/0x20 (0), dev3 ep0in, 18/18
    usb 1-1: rpm_resume flags 0x0
    usb 1-1: rpm_resume returns -11
    musb_start_urb 276: qh e1ddc040 urb ef9c9e80 dev3 ep0out, hw_ep 0, e1ddc0c0/8
    musb_ep_program 749: --> hw0 urb ef9c9e80 spd1 dev3 ep0out h_addr00 h_port00 bytes 8
    musb_write_fifo 273: TX ep0 fifo f080c420 count 8 buf e1ddc0c0
    musb_start_urb 314: Start TX0 pio
    ti81xx_interrupt 876: usbintr (0) epintr(1)
    musb_interrupt 1643: ** IRQ host usb0000 tx0001 rx0000
    musb_h_ep0_irq 1104: <== csr0 0200, qh e1ddc040, count 0, urb ef9c9e80, stage 1
    musb_h_ep0_continue 1041: start IN-DATA
    ti81xx_interrupt 876: usbintr (0) epintr(1)
    musb_interrupt 1643: ** IRQ host usb0000 tx0001 rx0000
    musb_h_ep0_irq 1104: <== csr0 0001, qh e1ddc040, count 8, urb ef9c9e80, stage 2
    ti81xx_interrupt 876: usbintr (0) epintr(1)
    musb_interrupt 1643: ** IRQ host usb0000 tx0001 rx0000
    musb_h_ep0_irq 1104: <== csr0 0201, qh e1ddc040, count 1, urb ef9c9e80, stage 2
    musb_h_ep0_irq 1189: ep0 STATUS, csr 0842
    ti81xx_interrupt 876: usbintr (0) epintr(1)
    musb_interrupt 1643: ** IRQ host usb0000 tx0001 rx0000
    musb_h_ep0_irq 1104: <== csr0 0800, qh e1ddc040, count 0, urb ef9c9e80, stage 4
    musb_giveback 348: complete ef9c9e80 usb_api_blocking_completion+0x0/0x20 (0), dev3 ep0in, 9/9
    musb_start_urb 276: qh e1ddc140 urb ef9c9e80 dev3 ep0out, hw_ep 0, e1ddc040/8
    musb_ep_program 749: --> hw0 urb ef9c9e80 spd1 dev3 ep0out h_addr00 h_port00 bytes 8
    musb_write_fifo 273: TX ep0 fifo f080c420 count 8 buf e1ddc040
    musb_start_urb 314: Start TX0 pio
    ti81xx_interrupt 876: usbintr (0) epintr(1)
    musb_interrupt 1643: ** IRQ host usb0000 tx0001 rx0000
    musb_h_ep0_irq 1104: <== csr0 0200, qh e1ddc140, count 0, urb ef9c9e80, stage 1
    musb_h_ep0_continue 1041: start IN-DATA
    ti81xx_interrupt 876: usbintr (0) epintr(1)
    musb_interrupt 1643: ** IRQ host usb0000 tx0001 rx0000
    musb_h_ep0_irq 1104: <== csr0 0001, qh e1ddc140, count 8, urb ef9c9e80, stage 2
    ti81xx_interrupt 876: usbintr (0) epintr(1)
    musb_interrupt 1643: ** IRQ host usb0000 tx0001 rx0000
    musb_h_ep0_irq 1104: <== csr0 0201, qh e1ddc140, count 8, urb ef9c9e80, stage 2
    ti81xx_interrupt 876: usbintr (0) epintr(1)
    musb_interrupt 1643: ** IRQ host usb0000 tx0001 rx0000
    musb_h_ep0_irq 1104: <== csr0 0001, qh e1ddc140, count 8, urb ef9c9e80, stage 2
    ti81xx_interrupt 876: usbintr (0) epintr(1)
    musb_interrupt 1643: ** IRQ host usb0000 tx0001 rx0000
    musb_h_ep0_irq 1104: <== csr0 0201, qh e1ddc140, count 8, urb ef9c9e80, stage 2
    ti81xx_interrupt 876: usbintr (0) epintr(1)
    musb_interrupt 1643: ** IRQ host usb0000 tx0001 rx0000
    musb_h_ep0_irq 1104: <== csr0 0001, qh e1ddc140, count 2, urb ef9c9e80, stage 2
    musb_h_ep0_irq 1189: ep0 STATUS, csr 0842
    ti81xx_interrupt 876: usbintr (0) epintr(1)
    musb_interrupt 1643: ** IRQ host usb0000 tx0001 rx0000
    musb_h_ep0_irq 1104: <== csr0 0800, qh e1ddc140, count 0, urb ef9c9e80, stage 4
    musb_giveback 348: complete ef9c9e80 usb_api_blocking_completion+0x0/0x20 (0), dev3 ep0in, 34/34
    musb_start_urb 276: qh e1ddc180 urb ef9c9e80 dev3 ep0out, hw_ep 0, e1ddc100/8
    musb_ep_program 749: --> hw0 urb ef9c9e80 spd1 dev3 ep0out h_addr00 h_port00 bytes 8
    musb_write_fifo 273: TX ep0 fifo f080c420 count 8 buf e1ddc100
    musb_start_urb 314: Start TX0 pio
    ti81xx_interrupt 876: usbintr (0) epintr(1)
    musb_interrupt 1643: ** IRQ host usb0000 tx0001 rx0000
    musb_h_ep0_irq 1104: <== csr0 0200, qh e1ddc180, count 0, urb ef9c9e80, stage 1
    musb_h_ep0_continue 1041: start IN-DATA
    ti81xx_interrupt 876: usbintr (0) epintr(1)
    musb_interrupt 1643: ** IRQ host usb0000 tx0001 rx0000
    musb_h_ep0_irq 1104: <== csr0 0001, qh e1ddc180, count 4, urb ef9c9e80, stage 2
    musb_h_ep0_irq 1189: ep0 STATUS, csr 0842
    ti81xx_interrupt 876: usbintr (0) epintr(1)
    musb_interrupt 1643: ** IRQ host usb0000 tx0001 rx0000
    musb_h_ep0_irq 1104: <== csr0 0800, qh e1ddc180, count 0, urb ef9c9e80, stage 4
    musb_giveback 348: complete ef9c9e80 usb_api_blocking_completion+0x0/0x20 (0), dev3 ep0in, 4/255
    musb_start_urb 276: qh e1ddc180 urb ef9c9e80 dev3 ep0out, hw_ep 0, e1ddc100/8
    musb_ep_program 749: --> hw0 urb ef9c9e80 spd1 dev3 ep0out h_addr00 h_port00 bytes 8
    musb_write_fifo 273: TX ep0 fifo f080c420 count 8 buf e1ddc100
    musb_start_urb 314: Start TX0 pio
    ti81xx_interrupt 876: usbintr (0) epintr(1)
    musb_interrupt 1643: ** IRQ host usb0000 tx0001 rx0000
    musb_h_ep0_irq 1104: <== csr0 0200, qh e1ddc180, count 0, urb ef9c9e80, stage 1
    musb_h_ep0_continue 1041: start IN-DATA
    ti81xx_interrupt 876: usbintr (0) epintr(1)
    musb_interrupt 1643: ** IRQ host usb0000 tx0001 rx0000
    musb_h_ep0_irq 1104: <== csr0 0001, qh e1ddc180, count 8, urb ef9c9e80, stage 2
    ti81xx_interrupt 876: usbintr (0) epintr(1)
    musb_interrupt 1643: ** IRQ host usb0000 tx0001 rx0000
    musb_h_ep0_irq 1104: <== csr0 0201, qh e1ddc180, count 8, urb ef9c9e80, stage 2
    ti81xx_interrupt 876: usbintr (0) epintr(1)
    musb_interrupt 1643: ** IRQ host usb0000 tx0001 rx0000
    musb_h_ep0_irq 1104: <== csr0 0001, qh e1ddc180, count 8, urb ef9c9e80, stage 2
    ti81xx_interrupt 876: usbintr (0) epintr(1)
    musb_interrupt 1643: ** IRQ host usb0000 tx0001 rx0000
    musb_h_ep0_irq 1104: <== csr0 0201, qh e1ddc180, count 8, urb ef9c9e80, stage 2
    ti81xx_interrupt 876: usbintr (0) epintr(1)
    musb_interrupt 1643: ** IRQ host usb0000 tx0001 rx0000
    musb_h_ep0_irq 1104: <== csr0 0001, qh e1ddc180, count 4, urb ef9c9e80, stage 2
    musb_h_ep0_irq 1189: ep0 STATUS, csr 0842
    ti81xx_interrupt 876: usbintr (0) epintr(1)
    musb_interrupt 1643: ** IRQ host usb0000 tx0001 rx0000
    musb_h_ep0_irq 1104: <== csr0 0800, qh e1ddc180, count 0, urb ef9c9e80, stage 4
    musb_giveback 348: complete ef9c9e80 usb_api_blocking_completion+0x0/0x20 (0), dev3 ep0in, 36/255
    musb_start_urb 276: qh e1ddc1c0 urb ef9c9e80 dev3 ep0out, hw_ep 0, e1ddc180/8
    musb_ep_program 749: --> hw0 urb ef9c9e80 spd1 dev3 ep0out h_addr00 h_port00 bytes 8
    musb_write_fifo 273: TX ep0 fifo f080c420 count 8 buf e1ddc180
    musb_start_urb 314: Start TX0 pio
    ti81xx_interrupt 876: usbintr (0) epintr(1)
    musb_interrupt 1643: ** IRQ host usb0000 tx0001 rx0000
    musb_h_ep0_irq 1104: <== csr0 0200, qh e1ddc1c0, count 0, urb ef9c9e80, stage 1
    musb_h_ep0_continue 1041: start IN-DATA
    ti81xx_interrupt 876: usbintr (0) epintr(1)
    musb_interrupt 1643: ** IRQ host usb0000 tx0001 rx0000
    musb_h_ep0_irq 1104: <== csr0 0001, qh e1ddc1c0, count 8, urb ef9c9e80, stage 2
    ti81xx_interrupt 876: usbintr (0) epintr(1)
    musb_interrupt 1643: ** IRQ host usb0000 tx0001 rx0000
    musb_h_ep0_irq 1104: <== csr0 0201, qh e1ddc1c0, count 6, urb ef9c9e80, stage 2
    musb_h_ep0_irq 1189: ep0 STATUS, csr 0842
    ti81xx_interrupt 876: usbintr (0) epintr(1)
    musb_interrupt 1643: ** IRQ host usb0000 tx0001 rx0000
    musb_h_ep0_irq 1104: <== csr0 0800, qh e1ddc1c0, count 0, urb ef9c9e80, stage 4
    musb_giveback 348: complete ef9c9e80 usb_api_blocking_completion+0x0/0x20 (0), dev3 ep0in, 14/255
    usb 1-1: New USB device found, idVendor=093a, idProduct=2510
    usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
    usb 1-1: Product: USB Optical Mouse
    usb 1-1: Manufacturer: PixArt
    usb 1-1: rpm_resume flags 0x4
    usb 1-1: rpm_resume returns 1
    musb_start_urb 276: qh e1ddc400 urb ef9c9d00 dev3 ep0out, hw_ep 0, e1ddc3c0/8
    musb_ep_program 749: --> hw0 urb ef9c9d00 spd1 dev3 ep0out h_addr00 h_port00 bytes 8
    musb_write_fifo 273: TX ep0 fifo f080c420 count 8 buf e1ddc3c0
    musb_start_urb 314: Start TX0 pio
    ti81xx_interrupt 876: usbintr (0) epintr(1)
    musb_interrupt 1643: ** IRQ host usb0000 tx0001 rx0000
    musb_h_ep0_irq 1104: <== csr0 0200, qh e1ddc400, count 0, urb ef9c9d00, stage 1
    musb_h_ep0_continue 1038: start no-DATA
    musb_h_ep0_irq 1189: ep0 STATUS, csr 0860
    ti81xx_interrupt 876: usbintr (0) epintr(1)
    musb_interrupt 1643: ** IRQ host usb0000 tx0001 rx0000
    musb_h_ep0_irq 1104: <== csr0 0841, qh e1ddc400, count 0, urb ef9c9d00, stage 4
    musb_giveback 348: complete ef9c9d00 usb_api_blocking_completion+0x0/0x20 (0), dev3 ep0out, 0/0
    hub 1-0:1.0: rpm_resume flags 0x4
    hub 1-0:1.0: rpm_resume returns 1
    musb_hub_control 343: port status 00020303
    musb_hub_control 277: clear feature 17
    hub 1-0:1.0: rpm_suspend flags 0x0
    hub 1-0:1.0: rpm_suspend returns 0

     

     

  • 请问一下,加载上层设备驱动后就不会断开连接,这个是如何进行操作?


    thx~