From: rkardell <rkardell@mida.se>
To: linux-media@vger.kernel.org
Subject: Re: Error Terratec Cinergy T2 after USB disconnect or sleep
Date: Tue, 28 Sep 2021 02:57:43 +0200 [thread overview]
Message-ID: <9a2465f6-befb-2c13-74b4-6eb9d05597c6@mida.se> (raw)
In-Reply-To: <500b3efc-5937-8ac4-bf7b-669b9ebc029a@mida.se>
The problem is that the module used count is incremented 1 time but
decremented 2 times by dvb_frontend. I guess there is a reason for the
call to dvb_prontend_put() twice, but to change that as suggested by
ref: https://linuxtv.org/pipermail/linux-dvb/2007-November/021577.html
affects other modules.
The best solution is to insert a call to try_module_get(THIS_MODULE) in
cinergyt2_frontend_attach() to prevent the module to be unloaded. This
change makes CinergyT2 to behave as expected after sleep and if
disconnected and connected again.
Den 2021-09-21 kl. 04:18, skrev rkardell:
> Terratec Cinergy T2 driver leaves lsmod used cnt at -1, after sleep or
> usb reconnect.
> Driver can’t be removed with rmmod and modprobe -r crashes kernel.
> After reconnect or wake up after sleep, cinergyt2 seems to be properly
> initialized, but can’t be used by kaffeine. The system must be
> restarted to be able to use the CinergyT2 again.
> The only way to avoid this is to manually stop the driver with rmmod
> before disconnect or sleep.
> Tested on Thinkpad X131e Ubuntu Mate 21.04 5.11.0-34-generic x86_64
> and several other.
> The only reference to the problem that I have found is this:
> https://linuxtv.org/pipermail/linux-dvb/2007-November/021577.html
> Anyone have any ideas how to solve the problem or how to proceed?
>
>
> Dmesg after connect
> 1882.116982] usb 1-1.2: new high-speed USB device number 3 using
> ehci-pci
> [ 1882.225758] usb 1-1.2: config 1 interface 0 altsetting 0 bulk
> endpoint 0x1 has invalid maxpacket 64
> [ 1882.225772] usb 1-1.2: config 1 interface 0 altsetting 0 bulk
> endpoint 0x81 has invalid maxpacket 64
> [ 1882.226486] usb 1-1.2: New USB device found, idVendor=0ccd,
> idProduct=0038, bcdDevice= 1.06
> [ 1882.226497] usb 1-1.2: New USB device strings: Mfr=1, Product=2,
> SerialNumber=0
> [ 1882.226501] usb 1-1.2: Product: Cinergy T²
> [ 1882.226504] usb 1-1.2: Manufacturer: TerraTec GmbH
> [ 1882.406083] dvb-usb: found a 'Mod TerraTec/qanu USB2.0 Highspeed
> DVB-T Receiver' in warm state.
> [ 1882.409674] dvb-usb: will pass the complete MPEG2 transport stream
> to the software demuxer.
> [ 1882.410117] dvbdev: DVB: registering new adapter (Mod TerraTec/qanu
> USB2.0 Highspeed DVB-T Receiver)
> [ 1882.410127] usb 1-1.2: media controller created
> [ 1882.410554] dvbdev: dvb_create_media_entity: media entity
> 'dvb-demux' registered.
> [ 1882.411406] usb 1-1.2: DVB: registering adapter 0 frontend 0
> (TerraTec/qanu USB2.0 Highspeed DVB-T Receiver)...
> [ 1882.411413] dvbdev: dvb_create_media_entity: media entity
> 'TerraTec/qanu USB2.0 Highspeed DVB-T Receiver' registered.
> [ 1882.412361] input: IR-receiver inside an USB DVB receiver as
> /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/input/input26
> [ 1882.412475] dvb-usb: schedule remote query interval to 50 msecs.
> [ 1882.415543] dvb-usb: Mod TerraTec/qanu USB2.0 Highspeed DVB-T
> Receiver successfully initialized and connected.
> [ 1882.415644] usbcore: registered new interface driver cinergyT2
>
> lsmod after connect
> Module Size Used by
> dvb_usb_cinergyT2 20480 0
> dvb_usb 28672 1 dvb_usb_cinergyT2
> dvb_core 139264 1 dvb_usb
>
> lsusb -v after connect
> Bus 001 Device 003: ID 0ccd:0038 TerraTec Electronic GmbH Cinergy T²
> DVB-T Receiver
> Device Descriptor:
> bLength 18
> bDescriptorType 1
> bcdUSB 2.00
> bDeviceClass 255 Vendor Specific Class
> bDeviceSubClass 255 Vendor Specific Subclass
> bDeviceProtocol 255 Vendor Specific Protocol
> bMaxPacketSize0 64
> idVendor 0x0ccd TerraTec Electronic GmbH
> idProduct 0x0038 Cinergy T² DVB-T Receiver
> bcdDevice 1.06
> iManufacturer 1 TerraTec GmbH
> iProduct 2 Cinergy T²
> iSerial 0
> bNumConfigurations 1
> Configuration Descriptor:
> bLength 9
> bDescriptorType 2
> wTotalLength 0x0027
> bNumInterfaces 1
> bConfigurationValue 1
> iConfiguration 0
> bmAttributes 0x80
> (Bus Powered)
> MaxPower 476mA
> Interface Descriptor:
> bLength 9
> bDescriptorType 4
> bInterfaceNumber 0
> bAlternateSetting 0
> bNumEndpoints 3
> bInterfaceClass 255 Vendor Specific Class
> bInterfaceSubClass 255 Vendor Specific Subclass
> bInterfaceProtocol 0
> iInterface 3 Highspeed Bulk Transfer
> Endpoint Descriptor:
> bLength 7
> bDescriptorType 5
> bEndpointAddress 0x01 EP 1 OUT
> bmAttributes 2
> Transfer Type Bulk
> Synch Type None
> Usage Type Data
> wMaxPacketSize 0x0040 1x 64 bytes
> bInterval 0
> Endpoint Descriptor:
> bLength 7
> bDescriptorType 5
> bEndpointAddress 0x81 EP 1 IN
> bmAttributes 2
> Transfer Type Bulk
> Synch Type None
> Usage Type Data
> wMaxPacketSize 0x0040 1x 64 bytes
> bInterval 0
> Endpoint Descriptor:
> bLength 7
> bDescriptorType 5
> bEndpointAddress 0x82 EP 2 IN
> bmAttributes 2
> Transfer Type Bulk
> Synch Type None
> Usage Type Data
> wMaxPacketSize 0x0200 1x 512 bytes
> bInterval 0
> Device Qualifier (for other device speed):
> bLength 10
> bDescriptorType 6
> bcdUSB 2.00
> bDeviceClass 255 Vendor Specific Class
> bDeviceSubClass 255 Vendor Specific Subclass
> bDeviceProtocol 255 Vendor Specific Protocol
> bMaxPacketSize0 64
> bNumConfigurations 1
> can't get debug descriptor: Resource temporarily unavailable
> cannot read device status, Resource temporarily unavailable (11)
>
> dmesg after sleep
> 2085.595303] PM: suspend entry (deep)
> [ 2086.182808] Filesystems sync: 0.587 seconds
> [ 2086.317346] Freezing user space processes ... (elapsed 0.003
> seconds) done.
> [ 2086.321013] OOM killer disabled.
> [ 2086.321015] Freezing remaining freezable tasks ... (elapsed 0.023
> seconds) done.
> [ 2086.344118] printk: Suspending console(s) (use no_console_suspend
> to debug)
> [ 2086.349168] dvb-usb: Mod TerraTec/qanu USB2.0 Highspeed DVB-
> successfully deinitialized and disconnected.
>
> Dmesg after wake up
> [ 2089.580989] usb 1-1.2: reset high-speed USB device number 3 using
> ehci-pci
> [ 2089.690369] PM: dpm_run_callback(): usb_dev_resume+0x0/0x20 returns -5
> [ 2089.690387] PM: Device 1-1.2 failed to resume async: error -5
> [ 2090.029351] OOM killer enabled.
> [ 2090.029359] Restarting tasks ...
> [ 2090.033135] usb 1-1.2: USB disconnect, device number 3
> [ 2090.060292] done.
> [ 2090.113373] usb 1-1.2: new high-speed USB device number 4 using
> ehci-pci
> [ 2090.229368] usb 1-1.2: config 1 interface 0 altsetting 0 bulk
> endpoint 0x1 has invalid maxpacket 64
> [ 2090.229378] usb 1-1.2: config 1 interface 0 altsetting 0 bulk
> endpoint 0x81 has invalid maxpacket 64
> [ 2090.229865] usb 1-1.2: New USB device found, idVendor=0ccd,
> idProduct=0038, bcdDevice= 1.06
> [ 2090.229870] usb 1-1.2: New USB device strings: Mfr=1, Product=2,
> SerialNumber=0
> [ 2090.229872] usb 1-1.2: Product: Cinergy T²
> [ 2090.229875] usb 1-1.2: Manufacturer: TerraTec GmbH
> [ 2090.230563] dvb-usb: found a 'Mod TerraTec/qanu USB2.0 Highspeed
> DVB-T Receiver' in warm state.
> [ 2090.234126] dvb-usb: will pass the complete MPEG2 transport stream
> to the software demuxer.
> [ 2090.234250] dvbdev: DVB: registering new adapter (Mod TerraTec/qanu
> USB2.0 Highspeed DVB-T Receiver)
> [ 2090.234258] usb 1-1.2: media controller created
> [ 2090.234851] dvbdev: dvb_create_media_entity: media entity
> 'dvb-demux' registered.
> [ 2090.235745] usb 1-1.2: DVB: registering adapter 0 frontend 0
> (TerraTec/qanu USB2.0 Highspeed DVB-T Receiver)...
> [ 2090.235757] dvbdev: dvb_create_media_entity: media entity
> 'TerraTec/qanu USB2.0 Highspeed DVB-T Receiver' registered.
> [ 2090.236844] input: IR-receiver inside an USB DVB receiver as
> /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/input/input30
> [ 2090.237399] dvb-usb: schedule remote query interval to 50 msecs.
> [ 2090.239994] dvb-usb: Mod TerraTec/qanu USB2.0 Highspeed DVB-T
> Receiver successfully initialized and connected.
> [ 2090.571073] PM: suspend exit
>
> lsmod after wake up
> Module Size Used by
> dvb_usb_cinergyT2 20480 -1
> dvb_usb 28672 1 dvb_usb_cinergyT2
> dvb_core 139264 1 dvb_usb
>
> lsusb -v after wake up
> Bus 001 Device 004: ID 0ccd:0038 TerraTec Electronic GmbH Cinergy T²
> DVB-T Receiver
> Device Descriptor:
> bLength 18
> bDescriptorType 1
> bcdUSB 2.00
> bDeviceClass 255 Vendor Specific Class
> bDeviceSubClass 255 Vendor Specific Subclass
> bDeviceProtocol 255 Vendor Specific Protocol
> bMaxPacketSize0 64
> idVendor 0x0ccd TerraTec Electronic GmbH
> idProduct 0x0038 Cinergy T² DVB-T Receiver
> bcdDevice 1.06
> iManufacturer 1 TerraTec GmbH
> iProduct 2 Cinergy T²
> iSerial 0
> bNumConfigurations 1
> Configuration Descriptor:
> bLength 9
> bDescriptorType 2
> wTotalLength 0x0027
> bNumInterfaces 1
> bConfigurationValue 1
> iConfiguration 0
> bmAttributes 0x80
> (Bus Powered)
> MaxPower 476mA
> Interface Descriptor:
> bLength 9
> bDescriptorType 4
> bInterfaceNumber 0
> bAlternateSetting 0
> bNumEndpoints 3
> bInterfaceClass 255 Vendor Specific Class
> bInterfaceSubClass 255 Vendor Specific Subclass
> bInterfaceProtocol 0
> iInterface 3 Highspeed Bulk Transfer
> Endpoint Descriptor:
> bLength 7
> bDescriptorType 5
> bEndpointAddress 0x01 EP 1 OUT
> bmAttributes 2
> Transfer Type Bulk
> Synch Type None
> Usage Type Data
> wMaxPacketSize 0x0040 1x 64 bytes
> bInterval 0
> Endpoint Descriptor:
> bLength 7
> bDescriptorType 5
> bEndpointAddress 0x81 EP 1 IN
> bmAttributes 2
> Transfer Type Bulk
> Synch Type None
> Usage Type Data
> wMaxPacketSize 0x0040 1x 64 bytes
> bInterval 0
> Endpoint Descriptor:
> bLength 7
> bDescriptorType 5
> bEndpointAddress 0x82 EP 2 IN
> bmAttributes 2
> Transfer Type Bulk
> Synch Type None
> Usage Type Data
> wMaxPacketSize 0x0200 1x 512 bytes
> bInterval 0
> Device Qualifier (for other device speed):
> bLength 10
> bDescriptorType 6
> bcdUSB 2.00
> bDeviceClass 255 Vendor Specific Class
> bDeviceSubClass 255 Vendor Specific Subclass
> bDeviceProtocol 255 Vendor Specific Protocol
> bMaxPacketSize0 64
> bNumConfigurations 1
> can't get debug descriptor: Resource temporarily unavailable
> cannot read device status, Resource temporarily unavailable (11)
>
>
>
prev parent reply other threads:[~2021-09-28 0:57 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-09-21 2:18 Error Terratec Cinergy T2 after USB disconnect or sleep rkardell
2021-09-28 0:57 ` rkardell [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=9a2465f6-befb-2c13-74b4-6eb9d05597c6@mida.se \
--to=rkardell@mida.se \
--cc=linux-media@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.