Modify

Opened 5 years ago

Last modified 4 years ago

#12209 new defect

ralink full speed USB sound card error and kernel panic

Reported by: lsoltero@… Owned by: developers
Priority: high Milestone: Barrier Breaker 14.07
Component: kernel Version: Trunk
Keywords: Cc:

Description

I have a full speed CMedial USB sound card attached directly to the USB port of an alfa w502u.

root@Optimizer:/# dmesg | grep -i usb
[    3.306000] Registered led device: alfa:blue:usb
[   10.098000] usbcore: registered new interface driver usbfs
[   10.104000] usbcore: registered new interface driver hub
[   10.110000] usbcore: registered new device driver usb
[   12.742000] dwc_otg dwc_otg.0: new USB bus registered, assigned bus number 1
[   12.765000] hub 1-0:1.0: USB hub found
[   12.903000] usbcore: registered new interface driver cdc_acm
[   12.909000] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
[   13.151000] usbcore: registered new interface driver snd-usb-audio
[   13.322000] usb 1-1: new full-speed USB device number 2 using dwc_otg
[   13.339000] usbcore: registered new interface driver usbserial
[   13.345000] USB Serial support registered for generic
[   13.597000] usbcore: registered new interface driver usbserial_generic
[   13.604000] usbserial: USB Serial Driver core
[   13.788000] USB Serial support registered for pl2303
[   13.794000] usbcore: registered new interface driver pl2303
[   13.799000] pl2303: Prolific PL2303 USB to serial adaptor driver

root@Optimizer:/# lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 0d8c:0139 C-Media Electronics, Inc. 

when streaming audio through the device i get the following on the console followed by a system reboot about a minute later.

[41417.162000] dwc_otg: check_periodic_bandwidth: already claimed usecs 163, required usecs 86
[41417.162000] dwc_otg: schedule_periodic: Insufficient periodic bandwidth for periodic transfer.
[41417.162000] dwc_otg: DWC OTG HCD URB Enqueue failed adding QTD. Error status -28
[41417.162000] cannot submit datapipe for urb 0, error -28: not enough bandwidth
[41417.201000] dwc_otg: check_periodic_bandwidth: already claimed usecs 163, required usecs 86
[41417.201000] dwc_otg: schedule_periodic: Insufficient periodic bandwidth for periodic transfer.
[41417.201000] dwc_otg: DWC OTG HCD URB Enqueue failed adding QTD. Error status -28
[41417.201000] cannot submit datapipe for urb 0, error -28: not enough bandwidth
[41417.236000] dwc_otg: check_periodic_bandwidth: already claimed usecs 163, required usecs 86
[41417.236000] dwc_otg: schedule_periodic: Insufficient periodic bandwidth for periodic transfer.
[41417.236000] dwc_otg: DWC OTG HCD URB Enqueue failed adding QTD. Error status -28
...

[41456.209000] dwc_otg: check_periodic_bandwidth: already claimed usecs 163, required usecs 86
[41456.209000] dwc_otg: schedule_periodic: Insufficient periodic bandwidth for periodic transfer.
[41456.209000] dwc_otg: DWC OTG HCD URB Enqueue failed adding QTD. Error status -28
[41456.209000] ca>

U-Boot 1.1.3 (Jul 20 2011 - 13:22:18)

Board: Ralink APSoC DRAM:  32 MB
relocate_code Pointer at: 81fb0000
flash_protect ON: from 0xBF000000 to 0xBF01D423
flash_protect ON: from 0xBF030000 to 0xBF030FFF

googling the error i find
http://trac.fonosfera.org/fon-ng/ticket/1213

which is very similar in nature on a ralink based fon device. The posting suggest that wdc_otg gets confused between full and high speed devices
http://trac.fonosfera.org/fon-ng/browser/trunk/openwrt/target/linux/fonera2n/patches-2.6.21/102-USB-isochronous-fix.patch?rev=2134

and suggest a simple patch to fix the issue.

looking at target/linux/ramips/files/drivers/usb/dwc_otg/dwc_otg_hcd_queue.c is see that this has already been applied to the latest AA subversion trunk.

/**
 * Checks that there is sufficient bandwidth for the specified QH in the
 * periodic schedule. For simplicity, this calculation assumes that all the
 * transfers in the periodic schedule may occur in the same (micro)frame.
 *
 * @param hcd The HCD state structure for the DWC OTG controller.
 * @param qh QH containing periodic bandwidth required.
 *
 * @return 0 if successful, negative error code otherwise.
 */
static int check_periodic_bandwidth(dwc_otg_hcd_t *hcd, dwc_otg_qh_t *qh)
{
        int             status;
        uint16_t        max_claimed_usecs;

        status = 0;

        if (hcd->core_if->core_params->speed == DWC_SPEED_PARAM_HIGH) {
                /*
                 * High speed mode.
                 * Max periodic usecs is 80% x 125 usec = 100 usec.
                 */
                max_claimed_usecs = 100 - qh->usecs;
        } else {
                /*
                 * Full speed mode.
                 * Max periodic usecs is 90% x 1000 usec = 900 usec.
                 */
                max_claimed_usecs = 900 - qh->usecs;
        }

        if (hcd->periodic_usecs > max_claimed_usecs) {
                DWC_NOTICE("%s: already claimed usecs %d, required usecs %d\n",
                           __func__, hcd->periodic_usecs, qh->usecs);
                status = -ENOSPC;
        }

        return status;
}

However, for some reason DWC_SPEED_PARAM_HIGH is still being selected since the notice is being printed on the console. Interestingly enough commenting out the initial if eliminates the console mesgs.

/**
 * Checks that there is sufficient bandwidth for the specified QH in the
 * periodic schedule. For simplicity, this calculation assumes that all the
 * transfers in the periodic schedule may occur in the same (micro)frame.
 *
 * @param hcd The HCD state structure for the DWC OTG controller.
 * @param qh QH containing periodic bandwidth required.
 *
 * @return 0 if successful, negative error code otherwise.
 */
static int check_periodic_bandwidth(dwc_otg_hcd_t *hcd, dwc_otg_qh_t *qh)
{
        int             status;
        uint16_t        max_claimed_usecs;

        status = 0;

#ifdef __NEVER__
        if (hcd->core_if->core_params->speed == DWC_SPEED_PARAM_HIGH) {
                /*
                 * High speed mode.
                 * Max periodic usecs is 80% x 125 usec = 100 usec.
                 */
                max_claimed_usecs = 100 - qh->usecs;
        } else {
#endif
                /*
                 * Full speed mode.
                 * Max periodic usecs is 90% x 1000 usec = 900 usec.
                 */
                max_claimed_usecs = 900 - qh->usecs;
#ifdef __NEVER__
        }
#endif

        if (hcd->periodic_usecs > max_claimed_usecs) {
                DWC_NOTICE("%s: already claimed usecs %d, required usecs %d\n",
                           __func__, hcd->periodic_usecs, qh->usecs);
                status = -ENOSPC;
        }

        return status;
}

However, the kernel panics soon after sound starts streaming through the adapter.

here is the console log

[  216.426000] CPU 0 Unable to handle kernel paging request at virtual address 00000024, epc == 80da7790, ra == 80c470e8
[  216.426000] Oops[#1]:
[  216.426000] Cpu 0
[  216.426000] $ 0   : 00000000 00000000 00000000 00000184
[  216.426000] $ 4   : 00000000 80692400 ffffff7d 00000001
[  216.426000] $ 8   : 00000000 000195c7 80490780 01440144
[  216.426000] $12   : 013f013f 00007fff 00000477 01390139
[  216.426000] $16   : 8048f000 00000000 80692400 80d808d8
[  216.426000] $20   : 80d80800 00000000 ffffff7d 80cbb888
[  216.426000] $24   : 00000000 80da76e4                  
[  216.426000] $28   : 80220000 80221ac0 00000001 80c470e8
[  216.426000] Hi    : 00000001
[  216.426000] Lo    : 00000000
[  216.426000] epc   : 80da7790 0x80da7790
[  216.426000]     Tainted: G           O
[  216.426000] ra    : 80c470e8 0x80c470e8
[  216.426000] Status: 1100e402    KERNEL EXL 
[  216.426000] Cause : 00800008
[  216.426000] BadVA : 00000024
[  216.426000] PrId  : 0001964c (MIPS 24KEc)
[  216.426000] Modules linked in: pl2303 usbserial snd_usb_audio snd_usbmidi_lib cdc_acm dwc_otg ledtrig_usbdev nf_nat_irc nf_conntrack_irc nf_nat_ftp nf_conntrack_ftp ipt_MASQUERADE iptable_nat nf_nat xt_conntrack xt_CT xt_NOTRACK iptable_raw xt_state nf_conntrack_ipv4 nf_defrag_ipv4 nf_conntrack ipt_REJECT xt_TCPMSS ipt_LOG xt_comment xt_multiport xt_mac xt_limit iptable_mangle iptable_filter ip_tables xt_tcpudp x_tables snd_pcm_oss snd_mixer_oss snd_pcm snd_timer snd_rawmidi snd_seq_device snd_hwdep snd_page_alloc snd soundcore ppp_async ppp_generic slhc rt2800pci(O) rt2800lib(O) rt2x00soc(O) rt2x00pci(O) rt2x00lib(O) mac80211(O) usbcore usb_common nls_base crc_itu_t crc_ccitt eeprom_93cx6 cfg80211(O) compat(O) arc4 aes_generic crypto_algapi leds_gpio button_hotplug(O) input_polldev input_core
[  216.426000] Process swapper (pid: 0, threadinfo=80220000, task=80223cc0, tls=00000000)
[  216.426000] Stack : 81af10a0 80030a50 81af10a0 80030a50 00000000 80692400 00000000 ffffff7d
[  216.426000]         00000001 80cbb884 00000020 80c470e8 801f61a0 800429d8 00000001 80ecd4a8
[  216.426000]         00000003 80cbb810 00000002 80cbb824 80cbb810 80dc1440 00000000 81af10a0
[  216.426000]         80031238 00000000 80dd6300 00000004 00000000 80cdb930 00005a00 00000180
[  216.426000]         00005a00 00000000 00000001 80cd3a10 80ecd000 00000000 000003c0 80dd6300
[  216.426000]         ...
[  216.426000] Call Trace:[<80030a50>] 0x80030a50
[  216.426000] [<80030a50>] 0x80030a50
[  216.426000] [<80c470e8>] 0x80c470e8
[  216.426000] [<800429d8>] 0x800429d8
[  216.426000] [<80dc1440>] 0x80dc1440
[  216.426000] [<80031238>] 0x80031238
[  216.426000] [<80cd3a10>] 0x80cd3a10
[  216.426000] [<80cd37c0>] 0x80cd37c0
[  216.426000] [<80cd8448>] 0x80cd8448
[  216.426000] [<80cd821c>] 0x80cd821c
[  216.426000] [<80cd85a0>] 0x80cd85a0
[  216.426000] [<80c46fd0>] 0x80c46fd0
[  216.426000] [<80dc1d28>] 0x80dc1d28
[  216.426000] [<80dc1da4>] 0x80dc1da4
[  216.426000] [<80dc1fb4>] 0x80dc1fb4
[  216.426000] [<80c45c50>] 0x80c45c50
[  216.426000] [<80da7b4c>] 0x80da7b4c
[  216.426000] [<80da8f70>] 0x80da8f70
[  216.426000] [<80da7ebc>] 0x80da7ebc
[  216.426000] [<80da8b4c>] 0x80da8b4c
[  216.426000] [<80da9680>] 0x80da9680
[  216.426000] [<8003568c>] 0x8003568c
[  216.426000] [<8001aeb0>] 0x8001aeb0
[  216.426000] [<80daa01c>] 0x80daa01c
[  216.426000] [<8003ae90>] 0x8003ae90
[  216.426000] [<800fed24>] 0x800fed24
[  216.426000] [<80daa59c>] 0x80daa59c
[  216.426000] [<80da9b2c>] 0x80da9b2c
[  216.426000] [<80daa6b0>] 0x80daa6b0
[  216.426000] [<80015350>] 0x80015350
[  216.426000] [<80da7608>] 0x80da7608
[  216.426000] [<80c45208>] 0x80c45208
[  216.426000] [<80042898>] 0x80042898
[  216.426000] [<80250000>] 0x80250000
[  216.426000] [<80042a54>] 0x80042a54
[  216.426000] [<80045500>] 0x80045500
[  216.426000] [<8004217c>] 0x8004217c
[  216.426000] [<80046d70>] 0x80046d70
[  216.426000] [<80003328>] 0x80003328
[  216.426000] [<8000194c>] 0x8000194c
[  216.426000] [<80001b20>] 0x80001b20
[  216.426000] [<80250000>] 0x80250000
[  216.426000] [<80033a7c>] 0x80033a7c
[  216.426000] [<80003388>] 0x80003388
[  216.426000] [<80001b40>] 0x80001b40
[  216.426000] [<802328b0>] 0x802328b0
[  216.426000] [<80250a08>] 0x80250a08
[  216.426000] [<802320dc>] 0x802320dc
[  216.426000] 
[  216.426000] 
[  216.426000] Code: 41626000  30420001  000000c0 <8e230024> 8e240020  ac830004  ac640000  3c030010  24630100 
[  216.823000] ---[ end trace 2c4220858012b240 ]---
[  216.829000] Kernel panic - not syncing: Fatal exception in interrupt
[  216.835000] Rebooting in 3 seconds..

U-Boot 1.1.3 (Jul 20 2011 - 13:22:18)

Board: Ralink APSoC DRAM:  32 MB
relocate_code Pointer at: 81fb0000
flash_protect ON: from 0xBF000000 to 0xBF01D423
flash_protect ON: from 0xBF030000 to 0xBF030FFF
============================================ 
Ralink UBoot Version: 3.3
-------------------------------------------- 
ASIC 3052_MP2 (Port5<->None)
DRAM component: 256 Mbits SDR

so it seems that dwc_otg is not doing well in ralink land...

I did do a make kernel_config and changed the kernel timer from its default 100Hz to 1000Hz to no avail.

any insight into this problem would greatly be appreciated.

here is a full listing of the lsusb for the CMedia device.

root@Optimizer:/# lsusb -v -d 0d8c:0139

Bus 001 Device 002: ID 0d8c:0139 C-Media Electronics, Inc. 
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               1.10
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0         8
  idVendor           0x0d8c C-Media Electronics, Inc.
  idProduct          0x0139 
  bcdDevice            1.00
  iManufacturer           1 C-Media Electronics Inc.      
  iProduct                2 USB PnP Sound Device
  iSerial                 0 
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength          224
    bNumInterfaces          4
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0x80
      (Bus Powered)
    MaxPower              100mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           0
      bInterfaceClass         1 Audio
      bInterfaceSubClass      1 Control Device
      bInterfaceProtocol      0 
      iInterface              0 
      AudioControl Interface Descriptor:
        bLength                10
        bDescriptorType        36
        bDescriptorSubtype      1 (HEADER)
        bcdADC               1.00
        wTotalLength           71
        bInCollection           2
        baInterfaceNr( 0)       1
        baInterfaceNr( 1)       2
      AudioControl Interface Descriptor:
        bLength                12
        bDescriptorType        36
        bDescriptorSubtype      2 (INPUT_TERMINAL)
        bTerminalID             1
        wTerminalType      0x0101 USB Streaming
        bAssocTerminal          0
        bNrChannels             2
        wChannelConfig     0x0003
          Left Front (L)
          Right Front (R)
        iChannelNames           0 
        iTerminal               0 
      AudioControl Interface Descriptor:
        bLength                12
        bDescriptorType        36
        bDescriptorSubtype      2 (INPUT_TERMINAL)
        bTerminalID             2
        wTerminalType      0x0201 Microphone
        bAssocTerminal          0
        bNrChannels             1
        wChannelConfig     0x0001
          Left Front (L)
        iChannelNames           0 
        iTerminal               0 
      AudioControl Interface Descriptor:
        bLength                 9
        bDescriptorType        36
        bDescriptorSubtype      3 (OUTPUT_TERMINAL)
        bTerminalID             6
        wTerminalType      0x0301 Speaker
        bAssocTerminal          0
        bSourceID               9
        iTerminal               0 
      AudioControl Interface Descriptor:
        bLength                 9
        bDescriptorType        36
        bDescriptorSubtype      3 (OUTPUT_TERMINAL)
        bTerminalID             7
        wTerminalType      0x0101 USB Streaming
        bAssocTerminal          0
        bSourceID              10
        iTerminal               0 
      AudioControl Interface Descriptor:
        bLength                10
        bDescriptorType        36
        bDescriptorSubtype      6 (FEATURE_UNIT)
        bUnitID                 9
        bSourceID               1
        bControlSize            1
        bmaControls( 0)      0x01
          Mute Control
        bmaControls( 1)      0x02
          Volume Control
        bmaControls( 2)      0x02
          Volume Control
        iFeature                0 
      AudioControl Interface Descriptor:
        bLength                 9
        bDescriptorType        36
        bDescriptorSubtype      6 (FEATURE_UNIT)
        bUnitID                10
        bSourceID               2
        bControlSize            1
        bmaControls( 0)      0x43
          Mute Control
          Volume Control
          Automatic Gain Control
        bmaControls( 1)      0x00
        iFeature                0 
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           0
      bInterfaceClass         1 Audio
      bInterfaceSubClass      2 Streaming
      bInterfaceProtocol      0 
      iInterface              0 
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       1
      bNumEndpoints           1
      bInterfaceClass         1 Audio
      bInterfaceSubClass      2 Streaming
      bInterfaceProtocol      0 
      iInterface              0 
      AudioStreaming Interface Descriptor:
        bLength                 7
        bDescriptorType        36
        bDescriptorSubtype      1 (AS_GENERAL)
        bTerminalLink           1
        bDelay                  1 frames
        wFormatTag              1 PCM
      AudioStreaming Interface Descriptor:
        bLength                14
        bDescriptorType        36
        bDescriptorSubtype      2 (FORMAT_TYPE)
        bFormatType             1 (FORMAT_TYPE_I)
        bNrChannels             2
        bSubframeSize           2
        bBitResolution         16
        bSamFreqType            2 Discrete
        tSamFreq[ 0]        48000
        tSamFreq[ 1]        44100
      Endpoint Descriptor:
        bLength                 9
        bDescriptorType         5
        bEndpointAddress     0x01  EP 1 OUT
        bmAttributes            9
          Transfer Type            Isochronous
          Synch Type               Adaptive
          Usage Type               Data
        wMaxPacketSize     0x00c8  1x 200 bytes
        bInterval               1
        bRefresh                0
        bSynchAddress           0
        AudioControl Endpoint Descriptor:
          bLength                 7
          bDescriptorType        37
          bDescriptorSubtype      1 (EP_GENERAL)
          bmAttributes         0x01
            Sampling Frequency
          bLockDelayUnits         1 Milliseconds
          wLockDelay              1 Milliseconds
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        2
      bAlternateSetting       0
      bNumEndpoints           0
      bInterfaceClass         1 Audio
      bInterfaceSubClass      2 Streaming
      bInterfaceProtocol      0 
      iInterface              0 
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        2
      bAlternateSetting       1
      bNumEndpoints           1
      bInterfaceClass         1 Audio
      bInterfaceSubClass      2 Streaming
      bInterfaceProtocol      0 
      iInterface              0 
      AudioStreaming Interface Descriptor:
        bLength                 7
        bDescriptorType        36
        bDescriptorSubtype      1 (AS_GENERAL)
        bTerminalLink           7
        bDelay                  1 frames
        wFormatTag              1 PCM
      AudioStreaming Interface Descriptor:
        bLength                14
        bDescriptorType        36
        bDescriptorSubtype      2 (FORMAT_TYPE)
        bFormatType             1 (FORMAT_TYPE_I)
        bNrChannels             1
        bSubframeSize           2
        bBitResolution         16
        bSamFreqType            2 Discrete
        tSamFreq[ 0]        48000
        tSamFreq[ 1]        44100
      Endpoint Descriptor:
        bLength                 9
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            9
          Transfer Type            Isochronous
          Synch Type               Adaptive
          Usage Type               Data
        wMaxPacketSize     0x0064  1x 100 bytes
        bInterval               1
        bRefresh                0
        bSynchAddress           0
        AudioControl Endpoint Descriptor:
          bLength                 7
          bDescriptorType        37
          bDescriptorSubtype      1 (EP_GENERAL)
          bmAttributes         0x01
            Sampling Frequency
          bLockDelayUnits         0 Undefined
          wLockDelay              0 Undefined
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        3
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      0 No Subclass
      bInterfaceProtocol      0 None
      iInterface              0 
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.00
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      60
          Report Descriptor: (length is 60)
            Item(Global): Usage Page, data= [ 0x0c ] 12
                            Consumer
            Item(Local ): Usage, data= [ 0x01 ] 1
                            Consumer Control
            Item(Main  ): Collection, data= [ 0x01 ] 1
                            Application
            Item(Global): Logical Minimum, data= [ 0x00 ] 0
            Item(Global): Logical Maximum, data= [ 0x01 ] 1
            Item(Local ): Usage, data= [ 0xe9 ] 233
                            Volume Increment
            Item(Local ): Usage, data= [ 0xea ] 234
                            Volume Decrement
            Item(Global): Report Size, data= [ 0x01 ] 1
            Item(Global): Report Count, data= [ 0x02 ] 2
            Item(Main  ): Input, data= [ 0x02 ] 2
                            Data Variable Absolute No_Wrap Linear
                            Preferred_State No_Null_Position Non_Volatile Bitfield
            Item(Local ): Usage, data= [ 0xe2 ] 226
                            Mute
            Item(Local ): Usage, data= [ 0x00 ] 0
                            Unassigned
            Item(Main  ): Input, data= [ 0x06 ] 6
                            Data Variable Relative No_Wrap Linear
                            Preferred_State No_Null_Position Non_Volatile Bitfield
            Item(Global): Usage Page, data= [ 0x0b ] 11
                            Telephony
            Item(Local ): Usage, data= [ 0x20 ] 32
                            Hook Switch
            Item(Global): Report Count, data= [ 0x01 ] 1
            Item(Main  ): Input, data= [ 0x42 ] 66
                            Data Variable Absolute No_Wrap Linear
                            Preferred_State Null_State Non_Volatile Bitfield
            Item(Global): Usage Page, data= [ 0x0c ] 12
                            Consumer
            Item(Local ): Usage, data= [ 0x00 ] 0
                            Unassigned
            Item(Global): Report Count, data= [ 0x03 ] 3
            Item(Main  ): Input, data= [ 0x02 ] 2
                            Data Variable Absolute No_Wrap Linear
                            Preferred_State No_Null_Position Non_Volatile Bitfield
            Item(Global): Logical Maximum, data= [ 0xff 0x00 ] 255
            Item(Local ): Usage, data= [ 0x00 ] 0
                            Unassigned
            Item(Global): Report Size, data= [ 0x08 ] 8
            Item(Global): Report Count, data= [ 0x03 ] 3
            Item(Main  ): Input, data= [ 0x02 ] 2
                            Data Variable Absolute No_Wrap Linear
                            Preferred_State No_Null_Position Non_Volatile Bitfield
            Item(Local ): Usage, data= [ 0x00 ] 0
                            Unassigned
            Item(Global): Report Count, data= [ 0x04 ] 4
            Item(Main  ): Output, data= [ 0x02 ] 2
                            Data Variable Absolute No_Wrap Linear
                            Preferred_State No_Null_Position Non_Volatile Bitfield
            Item(Main  ): End Collection, data=none
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x87  EP 7 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0004  1x 4 bytes
        bInterval               2
Device Status:     0x0000
  (Bus Powered)

its possible that the system crash is unrelated to the USB and caused by lack of memory. However, i have not been able to determine that for a fact. The system is a bit tight on RAM.

Mem: 25188K used, 4916K free, 0K shrd, 3580K buff, 10076K cached
CPU:   0% usr   0% sys   0% nic  99% idle   0% io   0% irq   0% sirq
Load average: 0.10 0.17 0.08 1/64 1422

Attachments (0)

Change History (3)

comment:1 Changed 5 years ago by anonymous

I can confirm this for D-Link DIR-620 (with sound blaster usb sound card).
Can help with testing.

[   53.210000] ramips-wdt: timeout value 60 must be 0 < timeout <= 33, using 33
[   60.780000] dwc_otg: periodic_channel_available: Total channels: 4, Periodic: 2, Non-periodic: 2
[   60.780000] dwc_otg: schedule_periodic: No host channel available for periodic transfer.
[   60.810000] dwc_otg: DWC OTG HCD URB Enqueue failed adding QTD. Error status -28
[   60.830000] cannot submit datapipe for urb 0, error -28: not enough bandwidth
[   66.400000] CPU 0 Unable to handle kernel paging request at virtual address 00000024, epc == 81bc77a0, ra == 81ba70e8
[   66.400000] Oops[#1]:
[   66.400000] Cpu 0
[   66.400000] $ 0   : 00000000 00000001 00000000 00000184
[   66.400000] $ 4   : 00000000 81594200 ffffff7d 00000001
[   66.400000] $ 8   : 00200020 00200020 00000000 00000000
[   66.400000] $12   : 0000001f 8020001f 00000001 006e0089
[   66.400000] $16   : 80966480 00000000 81594200 81ab98d8
[   66.400000] $20   : 81ab9800 00000000 ffffff7d 80cb1488
[   66.400000] $24   : 00000000 81bc76f4                  
[   66.400000] $28   : 8074c000 8074dbd0 00000001 81ba70e8
[   66.400000] Hi    : 00000001
[   66.400000] Lo    : 00000000
[   66.400000] epc   : 81bc77a0 0x81bc77a0
[   66.400000]     Tainted: G           O
[   66.400000] ra    : 81ba70e8 0x81ba70e8
[   66.400000] Status: 1100e402    KERNEL EXL 
[   66.400000] Cause : 00800008
[   66.400000] BadVA : 00000024
[   66.400000] PrId  : 0001964c (MIPS 24KEc)
[   66.400000] Modules linked in: btusb hci_uart hidp bnep rfcomm bluetooth hid snd_usb_audio snd_usbmidi_lib evdev ledtrig_usbdev nf_nat_irc nf_conntrack_irc nf_nat_fe
[   66.400000] Process mpd (pid: 1696, threadinfo=8074c000, task=817e7608, tls=7636e970)
[   66.400000] Stack : 00000000 81b93280 00000000 b01c0000 00000000 81594200 00000000 ffffff7d
[   66.400000]         00000001 80cb1484 00000020 81ba70e8 81ab98f0 81bc8000 80270000 81b53a20
[   66.400000]         801f5194 80cb1410 00000002 80cb1424 80cb1410 80dc1440 b01c0500 81b53a00
[   66.400000]         80270000 81bc92e8 80d59300 00000004 00000000 80c6b930 00015888 000004d4
[   66.400000]         00015888 00000000 00000001 80c63a10 80d59300 80dc84ec 80dab000 81ab98d8
[   66.400000]         ...
[   66.400000] Call Trace:[<81ba70e8>] 0x81ba70e8
[   66.400000] [<81bc8000>] 0x81bc8000
[   66.400000] [<80dc1440>] 0x80dc1440
[   66.400000] [<81bc92e8>] 0x81bc92e8
[   66.400000] [<80c63a10>] 0x80c63a10
[   66.400000] [<80dc84ec>] 0x80dc84ec
[   66.400000] [<80c637c0>] 0x80c637c0
[   66.400000] [<80c682bc>] 0x80c682bc
[   66.400000] [<80c6821c>] 0x80c6821c
[   66.400000] [<80c685a0>] 0x80c685a0
[   66.400000] [<81bca174>] 0x81bca174
[   66.400000] [<81ba6fd0>] 0x81ba6fd0
[   66.400000] [<80dc1d28>] 0x80dc1d28
[   66.400000] [<80dc1da4>] 0x80dc1da4
[   66.400000] [<80dc1fb4>] 0x80dc1fb4
[   66.400000] [<81ba5c50>] 0x81ba5c50
[   66.400000] [<81bc7b5c>] 0x81bc7b5c
[   66.400000] [<81bc8f80>] 0x81bc8f80
[   66.400000] [<81bc8000>] 0x81bc8000
[   66.400000] [<81bc9690>] 0x81bc9690
[   66.400000] [<81bc9a80>] 0x81bc9a80
[   66.400000] [<81bca02c>] 0x81bca02c
[   66.400000] [<81bc7b5c>] 0x81bc7b5c
[   66.400000] [<81bc7ecc>] 0x81bc7ecc
[   66.400000] [<81bca5ac>] 0x81bca5ac
[   66.400000] [<81bc9b3c>] 0x81bc9b3c
[   66.400000] [<8000194c>] 0x8000194c
[   66.400000] [<81bca6c0>] 0x81bca6c0
[   66.400000] [<81bc7618>] 0x81bc7618
[   66.400000] [<81ba5208>] 0x81ba5208
[   66.400000] [<80042788>] 0x80042788
[   66.400000] [<8003396c>] 0x8003396c
[   66.400000] [<80042944>] 0x80042944
[   66.400000] [<800306dc>] 0x800306dc
[   66.400000] [<800453f0>] 0x800453f0
[   66.400000] [<8004206c>] 0x8004206c
[   66.400000] [<8006619c>] 0x8006619c
[   66.400000] [<80003328>] 0x80003328
[   66.400000] [<8000194c>] 0x8000194c
[   66.400000] 
[   66.400000] 
[   66.400000] Code: 41626000  30420001  000000c0 <8e230024> 8e240020  ac830004  ac640000  3c030010  24630100 
[   67.150000] ---[ end trace 8ff34340c8620c8d ]---
[   67.160000] Kernel panic - not syncing: Fatal exception in interrupt

comment:2 Changed 5 years ago by anonymous

https://github.com/8devices/carambola/issues/12

It looks like it's the same kernel crash due to NULL pointers.
I suspect it has smth todo with URB reuse mechanism. Did not
pin point for possible solution yet.

comment:3 Changed 4 years ago by jow

  • Milestone changed from Attitude Adjustment 12.09 to Barrier Breaker 14.07

Milestone Attitude Adjustment 12.09 deleted

Add Comment

Modify Ticket

Action
as new .
Author


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

 
Note: See TracTickets for help on using tickets.