Modify

Opened 3 years ago

Closed 3 years ago

#17716 closed defect (fixed)

ramips: dwc_otg causes 'reset high-speed USB device number X' after kernel bump to 3.14

Reported by: braveheart_leo@… Owned by: developers
Priority: normal Milestone: Chaos Calmer 15.05
Component: kernel Version: Trunk
Keywords: ramis dwc_otg dwc2 reset Cc:

Description

My Buffalo external drive used to play nicely with this router, an ASUS RT-N13UB1, running CHAOS CALMER (Bleeding Edge, r42321) and Linux 3.10.49. Since the upgrade to Linux 3.14.16 for ramips targets, this is no longer the case.

Here is the relevant dmesg that shows this external drive is working perfectly well under 3.10.49:

[    3.110000] usbcore: registered new interface driver usbfs
[    3.130000] usbcore: registered new interface driver hub
[    3.140000] usbcore: registered new device driver usb
[    3.160000] dwc_otg: version 2.72a 24-JUN-2008
[    3.170000] dwc_otg: Core Release: 2.66a
[    3.370000] dwc_otg: Periodic Transfer Interrupt Enhancement - disabled
[    3.390000] dwc_otg: Multiprocessor Interrupt Enhancement - disabled
[    3.400000] dwc_otg: Using DMA mode
[    3.410000] dwc_otg: Device using Buffer DMA mode
[    3.420000] dwc_otg 101c0000.otg: DWC OTG Controller
[    3.430000] dwc_otg 101c0000.otg: new USB bus registered, assigned bus number 1
[    3.440000] dwc_otg 101c0000.otg: irq 26, io mem 0x101c0000
[    3.450000] dwc_otg: Init: Port Power? op_state=1
[    3.460000] dwc_otg: Init: Power Port (0)
[    3.470000] usb usb1: no of_node; not parsing pinctrl DT
[    3.470000] hub 1-0:1.0: USB hub found
[    4.260000] usb 1-1: new high-speed USB device number 2 using dwc_otg
[    4.470000] usb 1-1: no of_node; not parsing pinctrl DT
[    4.470000] hub 1-1:1.0: USB hub found
[    4.770000] usb 1-1.2: new high-speed USB device number 3 using dwc_otg
[    4.880000] usb 1-1.2: no of_node; not parsing pinctrl DT
[    4.960000] usb 1-1.3: new high-speed USB device number 4 using dwc_otg
[    5.070000] usb 1-1.3: no of_node; not parsing pinctrl DT
[    8.270000] SCSI subsystem initialized
[    8.290000] usb-storage 1-1.2:1.0: no of_node; not parsing pinctrl DT
[    8.290000] usb-storage 1-1.2:1.0: USB Mass Storage device detected
[    8.300000] usb-storage 1-1.2:1.0: Quirks match for vid 0457 pid 0151: 80
[    8.320000] scsi0 : usb-storage 1-1.2:1.0
[    8.330000] usb-storage 1-1.3:1.0: no of_node; not parsing pinctrl DT
[    8.330000] usb-storage 1-1.3:1.0: USB Mass Storage device detected
[    8.340000] scsi1 : usb-storage 1-1.3:1.0
[    8.350000] usbcore: registered new interface driver usb-storage
[    9.330000] scsi 0:0:0:0: Direct-Access     UT161    USB2FlashStorage 1.00 PQ: 0 ANSI: 2
[    9.350000] scsi 1:0:0:0: Direct-Access     BUFFALO  External HDD     0000 PQ: 0 ANSI: 3
[    9.490000] sd 0:0:0:0: [sda] Attached SCSI removable disk
[   10.740000] sd 1:0:0:0: [sdb] 625142448 512-byte logical blocks: (320 GB/298 GiB)
[   10.760000] sd 1:0:0:0: [sdb] Write Protect is off
[   10.770000] sd 1:0:0:0: [sdb] Mode Sense: 3b 00 00 00
[   10.770000] sd 1:0:0:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[   10.810000]  sdb: sdb1
[   10.820000] sd 1:0:0:0: [sdb] Attached SCSI disk

And here is the dmesg that shows this external drive is not working properly after an update to 3.14.16:

[    3.090000] usbcore: registered new interface driver usbfs
[    3.100000] usbcore: registered new interface driver hub
[    3.120000] usbcore: registered new device driver usb
[    3.140000] dwc_otg: version 2.72a 24-JUN-2008
[    3.150000] dwc_otg: Core Release: 2.66a
[    3.350000] dwc_otg: Periodic Transfer Interrupt Enhancement - disabled
[    3.370000] dwc_otg: Multiprocessor Interrupt Enhancement - disabled
[    3.380000] dwc_otg: Using DMA mode
[    3.390000] dwc_otg: Device using Buffer DMA mode
[    3.400000] dwc_otg 101c0000.otg: DWC OTG Controller
[    3.410000] dwc_otg 101c0000.otg: new USB bus registered, assigned bus number 1
[    3.420000] dwc_otg 101c0000.otg: irq 26, io mem 0x101c0000
[    3.430000] dwc_otg: Init: Port Power? op_state=1
[    3.440000] dwc_otg: Init: Power Port (0)
[    3.450000] usb usb1: no of_node; not parsing pinctrl DT
[    3.450000] hub 1-0:1.0: USB hub found
[    4.320000] usb 1-1: new high-speed USB device number 2 using dwc_otg
[    4.530000] usb 1-1: no of_node; not parsing pinctrl DT
[    4.530000] hub 1-1:1.0: USB hub found
[    4.830000] usb 1-1.2: new high-speed USB device number 3 using dwc_otg
[    4.940000] usb 1-1.2: no of_node; not parsing pinctrl DT
[    5.020000] usb 1-1.3: new high-speed USB device number 4 using dwc_otg
[    5.130000] usb 1-1.3: no of_node; not parsing pinctrl DT
[    8.170000] SCSI subsystem initialized
[    8.190000] usb-storage 1-1.2:1.0: no of_node; not parsing pinctrl DT
[    8.190000] usb-storage 1-1.2:1.0: USB Mass Storage device detected
[    8.200000] usb-storage 1-1.2:1.0: Quirks match for vid 0457 pid 0151: 80
[    8.220000] scsi0 : usb-storage 1-1.2:1.0
[    8.230000] usb-storage 1-1.3:1.0: no of_node; not parsing pinctrl DT
[    8.230000] usb-storage 1-1.3:1.0: USB Mass Storage device detected
[    8.240000] scsi1 : usb-storage 1-1.3:1.0
[    8.250000] usbcore: registered new interface driver usb-storage
[    9.230000] scsi 0:0:0:0: Direct-Access     UT161    USB2FlashStorage 1.00 PQ: 0 ANSI: 2
[    9.250000] scsi 1:0:0:0: Direct-Access     BUFFALO  External HDD     0000 PQ: 0 ANSI: 3
[    9.980000] sd 0:0:0:0: [sda] Attached SCSI removable disk
[   10.960000] sd 1:0:0:0: [sdb] 625142448 512-byte logical blocks: (320 GB/298 GiB)
[   11.090000] usb 1-1.3: reset high-speed USB device number 4 using dwc_otg
[   11.590000] usb 1-1.3: reset high-speed USB device number 4 using dwc_otg
[   11.810000] usb 1-1.3: reset high-speed USB device number 4 using dwc_otg
[   12.020000] usb 1-1.3: reset high-speed USB device number 4 using dwc_otg
[   12.230000] usb 1-1.3: reset high-speed USB device number 4 using dwc_otg
[   12.440000] usb 1-1.3: reset high-speed USB device number 4 using dwc_otg
[   12.550000] sd 1:0:0:0: [sdb] Write Protect is off
[   12.560000] sd 1:0:0:0: [sdb] Mode Sense: 3b 00 00 00
[   12.640000] usb 1-1.3: reset high-speed USB device number 4 using dwc_otg
[   13.070000] usb 1-1.3: reset high-speed USB device number 4 using dwc_otg
[   13.500000] usb 1-1.3: reset high-speed USB device number 4 using dwc_otg
[   14.000000] usb 1-1.3: reset high-speed USB device number 4 using dwc_otg
[   14.310000] usb 1-1.3: reset high-speed USB device number 4 using dwc_otg
[   14.530000] usb 1-1.3: reset high-speed USB device number 4 using dwc_otg
[   14.770000] sd 1:0:0:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[   14.950000] usb 1-1.3: reset high-speed USB device number 4 using dwc_otg
[   15.820000] usb 1-1.3: reset high-speed USB device number 4 using dwc_otg
[   16.050000] usb 1-1.3: reset high-speed USB device number 4 using dwc_otg
[   16.340000] usb 1-1.3: reset high-speed USB device number 4 using dwc_otg
[   16.580000] usb 1-1.3: reset high-speed USB device number 4 using dwc_otg
[   16.810000] usb 1-1.3: reset high-speed USB device number 4 using dwc_otg
[   17.080000] usb 1-1.3: reset high-speed USB device number 4 using dwc_otg
[   17.410000] usb 1-1.3: reset high-speed USB device number 4 using dwc_otg
[   17.640000] usb 1-1.3: reset high-speed USB device number 4 using dwc_otg
[   17.920000] usb 1-1.3: reset high-speed USB device number 4 using dwc_otg
[   18.150000] usb 1-1.3: reset high-speed USB device number 4 using dwc_otg
[   18.790000] usb 1-1.3: reset high-speed USB device number 4 using dwc_otg
[   19.110000] usb 1-1.3: reset high-speed USB device number 4 using dwc_otg
[   19.330000] usb 1-1.3: reset high-speed USB device number 4 using dwc_otg
[   19.560000] usb 1-1.3: reset high-speed USB device number 4 using dwc_otg
[   19.780000] usb 1-1.3: reset high-speed USB device number 4 using dwc_otg
[   20.010000] usb 1-1.3: reset high-speed USB device number 4 using dwc_otg
[   20.240000] usb 1-1.3: reset high-speed USB device number 4 using dwc_otg
[   20.450000] usb 1-1.3: reset high-speed USB device number 4 using dwc_otg
[   20.670000] usb 1-1.3: reset high-speed USB device number 4 using dwc_otg
[   20.890000] usb 1-1.3: reset high-speed USB device number 4 using dwc_otg
[   21.110000] usb 1-1.3: reset high-speed USB device number 4 using dwc_otg
[   21.330000] usb 1-1.3: reset high-speed USB device number 4 using dwc_otg
[   21.550000] usb 1-1.3: reset high-speed USB device number 4 using dwc_otg
[   21.670000] sd 1:0:0:0: [sdb] READ CAPACITY failed
[   21.680000] sd 1:0:0:0: [sdb]  
[   21.690000] sd 1:0:0:0: [sdb] Sense not available.
[   21.780000] usb 1-1.3: reset high-speed USB device number 4 using dwc_otg
[   22.000000] usb 1-1.3: reset high-speed USB device number 4 using dwc_otg
[   22.250000] usb 1-1.3: reset high-speed USB device number 4 using dwc_otg
[   22.500000] usb 1-1.3: reset high-speed USB device number 4 using dwc_otg
[   22.730000] usb 1-1.3: reset high-speed USB device number 4 using dwc_otg
[   23.470000] usb 1-1.3: reset high-speed USB device number 4 using dwc_otg
[   23.780000] usb 1-1.3: reset high-speed USB device number 4 using dwc_otg
[   24.000000] usb 1-1.3: reset high-speed USB device number 4 using dwc_otg
[   24.330000] usb 1-1.3: reset high-speed USB device number 4 using dwc_otg
[   24.550000] usb 1-1.3: reset high-speed USB device number 4 using dwc_otg
[   24.770000] usb 1-1.3: reset high-speed USB device number 4 using dwc_otg
[   25.270000] usb 1-1.3: reset high-speed USB device number 4 using dwc_otg
[   25.380000] sd 1:0:0:0: [sdb] Asking for cache data failed
[   25.390000] sd 1:0:0:0: [sdb] Assuming drive cache: write through
[   25.400000] sdb: detected capacity change from 320072933376 to 0
[   25.510000] usb 1-1.3: reset high-speed USB device number 4 using dwc_otg
[   25.730000] usb 1-1.3: reset high-speed USB device number 4 using dwc_otg
[   25.980000] usb 1-1.3: reset high-speed USB device number 4 using dwc_otg
[   26.500000] usb 1-1.3: reset high-speed USB device number 4 using dwc_otg
[   26.750000] usb 1-1.3: reset high-speed USB device number 4 using dwc_otg
[   27.060000] usb 1-1.3: reset high-speed USB device number 4 using dwc_otg
[   27.250000] usb 1-1.3: reset high-speed USB device number 4 using dwc_otg
[   27.460000] usb 1-1.3: reset high-speed USB device number 4 using dwc_otg
[   27.670000] usb 1-1.3: reset high-speed USB device number 4 using dwc_otg
[   28.330000] usb 1-1.3: reset high-speed USB device number 4 using dwc_otg
[   28.550000] usb 1-1.3: reset high-speed USB device number 4 using dwc_otg
[   28.770000] usb 1-1.3: reset high-speed USB device number 4 using dwc_otg
[   28.970000] usb 1-1.3: reset high-speed USB device number 4 using dwc_otg
[   29.190000] usb 1-1.3: reset high-speed USB device number 4 using dwc_otg
[   29.400000] usb 1-1.3: reset high-speed USB device number 4 using dwc_otg
[   29.610000] usb 1-1.3: reset high-speed USB device number 4 using dwc_otg
[   29.820000] usb 1-1.3: reset high-speed USB device number 4 using dwc_otg
[   30.030000] usb 1-1.3: reset high-speed USB device number 4 using dwc_otg
[   30.220000] usb 1-1.3: reset high-speed USB device number 4 using dwc_otg
[   30.430000] usb 1-1.3: reset high-speed USB device number 4 using dwc_otg
[   30.640000] usb 1-1.3: reset high-speed USB device number 4 using dwc_otg
[   30.850000] usb 1-1.3: reset high-speed USB device number 4 using dwc_otg
[   31.060000] usb 1-1.3: reset high-speed USB device number 4 using dwc_otg
[   31.270000] usb 1-1.3: reset high-speed USB device number 4 using dwc_otg
[   31.460000] usb 1-1.3: reset high-speed USB device number 4 using dwc_otg
[   31.670000] usb 1-1.3: reset high-speed USB device number 4 using dwc_otg
[   31.880000] usb 1-1.3: reset high-speed USB device number 4 using dwc_otg
[   32.090000] usb 1-1.3: reset high-speed USB device number 4 using dwc_otg
[   32.300000] usb 1-1.3: reset high-speed USB device number 4 using dwc_otg
[   32.520000] usb 1-1.3: reset high-speed USB device number 4 using dwc_otg
[   32.720000] usb 1-1.3: reset high-speed USB device number 4 using dwc_otg
[   32.940000] usb 1-1.3: reset high-speed USB device number 4 using dwc_otg
[   33.160000] usb 1-1.3: reset high-speed USB device number 4 using dwc_otg
[   33.390000] usb 1-1.3: reset high-speed USB device number 4 using dwc_otg
[   33.610000] usb 1-1.3: reset high-speed USB device number 4 using dwc_otg
[   33.820000] usb 1-1.3: reset high-speed USB device number 4 using dwc_otg
[   33.950000] sd 1:0:0:0: [sdb] READ CAPACITY failed
[   33.960000] sd 1:0:0:0: [sdb]  
[   33.970000] sd 1:0:0:0: [sdb] Sense not available.
[   34.060000] usb 1-1.3: reset high-speed USB device number 4 using dwc_otg
[   34.290000] usb 1-1.3: reset high-speed USB device number 4 using dwc_otg
[   34.510000] usb 1-1.3: reset high-speed USB device number 4 using dwc_otg
[   34.730000] usb 1-1.3: reset high-speed USB device number 4 using dwc_otg
[   34.940000] usb 1-1.3: reset high-speed USB device number 4 using dwc_otg
[   35.160000] usb 1-1.3: reset high-speed USB device number 4 using dwc_otg
[   35.360000] usb 1-1.3: reset high-speed USB device number 4 using dwc_otg
[   35.580000] usb 1-1.3: reset high-speed USB device number 4 using dwc_otg
[   35.800000] usb 1-1.3: reset high-speed USB device number 4 using dwc_otg
[   36.020000] usb 1-1.3: reset high-speed USB device number 4 using dwc_otg
[   36.240000] usb 1-1.3: reset high-speed USB device number 4 using dwc_otg
[   36.460000] usb 1-1.3: reset high-speed USB device number 4 using dwc_otg
[   36.590000] sd 1:0:0:0: [sdb] Asking for cache data failed
[   36.600000] sd 1:0:0:0: [sdb] Assuming drive cache: write through
[   36.610000] sd 1:0:0:0: [sdb] Attached SCSI disk

Because of the repeated resets the dwc_otg module initiates, the drive's partition does not appear, as indicated in this line sdb: detected capacity change from 320072933376 to 0

Here are some relevant lsusb outputs under 3.10.49:

# lsusb -t
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=dwc_otg/1p, 480M
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/4p, 480M
        |__ Port 2: Dev 3, If 0, Class=Mass Storage, Driver=usb-storage, 480M
        |__ Port 3: Dev 4, If 0, Class=Mass Storage, Driver=usb-storage, 480M

# lsusb
Bus 001 Device 002: ID 05e3:0608 Genesys Logic, Inc. Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 0457:0151 Silicon Integrated Systems Corp. Super Flash 1GB / GXT  64MB Flash Drive
Bus 001 Device 004: ID 0411:01ba BUFFALO INC. (formerly MelCo., Inc.)

I read in the past changesets that a switch to using dwc2 module was made, but then it was reverted because the module does not play well with usb 3g dongles (r37563). Perhaps now the switch to dwc2 can be made?

If not, then there was a significant change in 3.14 that affected the dwc_otg module, at least for this particular drive. Unfortunately, the log doesn't tell much, nor does it provide any more info to troubleshooting this issue.

Attachments (1)

0059-USB-dwc2.patch (488 bytes) - added by braveheart_leo@… 3 years ago.

Download all attachments as: .zip

Change History (5)

comment:1 Changed 3 years ago by braveheart_leo@…

I tried using the dwc2 kernel module from kmod-usb-dwc2 package, but I get this error

[    3.210000] dwc2 101c0000.otg: Bad value for GSNPSID: 0x00000000

even after applying the 0035-USB-dwc2.patch, under Linux 3.14.16.

Changed 3 years ago by braveheart_leo@…

comment:2 Changed 3 years ago by braveheart_leo@…

Actually, I applied the patch incorrectly. Now I'm running using the dwc2 usb kernel module. I'm attaching the revised patch in case someone is interested in this issue.

comment:3 Changed 3 years ago by braveheart_leo@…

Because of r42446, this ticket may now be considered fixed and may be closed.

comment:4 Changed 3 years ago by blogic

  • Resolution set to fixed
  • Status changed from new to closed

Add Comment

Modify Ticket

Action
as closed .
The resolution will be deleted. Next status will be 'reopened'.
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.