VirtualBox

Ticket #9214 (new defect)

Opened 3 years ago

Last modified 19 months ago

Anysee DVB-T USB TV card fails to work

Reported by: Anobug Owned by:
Priority: major Component: USB
Version: VirtualBox 4.0.12 Keywords:
Cc: Guest type: Linux
Host type: Linux

Description

Anysee DVB-T USB TV card fails under Virtualbox 4.0.12 and 3.x.

Host is running under Ubuntu 11.04 64bit. (2.6.38-10-generic 46-Ubuntu SMP Tue Jun 28 15:07:17 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux)

Guest is running Ubuntu 11.04 server 64bit. (2.6.38-10-server 46-Ubuntu SMP Tue Jun 28 16:31:00 UTC 2011 x86-64 x86_64 x86_64 GNU/Linux) (though it doesn't matter, it also fails as 32bit)

Extract of dmesg - guest OS, plugging device in

[   53.431268] usb 1-1: new high speed USB device using ehci_hcd and address 2
[   53.627028] usb 1-1: config 1 interface 0 altsetting 0 bulk endpoint 0x1 has invalid maxpacket 64
[   53.627031] usb 1-1: config 1 interface 0 altsetting 0 bulk endpoint 0x81 has invalid maxpacket 64
[   53.627035] usb 1-1: config 1 interface 0 altsetting 1 bulk endpoint 0x1 has invalid maxpacket 64
[   53.627037] usb 1-1: config 1 interface 0 altsetting 1 bulk endpoint 0x81 has invalid maxpacket 64
[   53.848850] IR NEC protocol handler initialized
[   53.878717] IR RC5(x) protocol handler initialized
[   53.889876] IR RC6 protocol handler initialized
[   53.892236] dvb-usb: found a 'Anysee DVB USB2.0' in warm state.
[   53.892285] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
[   53.903775] IR JVC protocol handler initialized
[   53.907526] IR Sony protocol handler initialized
[   53.924588] lirc_dev: IR Remote Control driver registered, major 250 
[   53.926192] DVB: registering new adapter (Anysee DVB USB2.0)
[   53.927286] dvb-usb: no frontend was attached by 'Anysee DVB USB2.0'
[   53.936654] IR LIRC bridge handler initialized
[   53.940541] dvb-usb: Anysee DVB USB2.0 successfully initialized and connected.
[   53.943300] dvb_usb_anysee: probe of 1-1:1.0 failed with error -1
[   53.943354] usbcore: registered new interface driver dvb_usb_anysee

Guest OS fails to detect DVB-T card type correctly and won't be able to load any frontends.

With host OS, it works perfectly. On guest OS it fails every time. Other USB devices I tested worked fine.

Blacklisting device drivers on host make no difference in operation of guest, it still fails same way.

Extract of USB-hardware at guest (lsusb -v)

Bus 001 Device 002: ID 04b4:861f Cypress Semiconductor Corp. Anysee E30 USB 2.0 DVB-T Receiver
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  idVendor           0x04b4 Cypress Semiconductor Corp.
  idProduct          0x861f Anysee E30 USB 2.0 DVB-T Receiver
  bcdDevice            1.00
  iManufacturer           1 AMT.CO.KR
  iProduct                2 anysee-T(LP)
  iSerial                 0 
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           83
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0x80
      (Bus Powered)
    MaxPower              500mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           4
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      0 
      bInterfaceProtocol      0 
      iInterface              0 
      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
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       1
      bNumEndpoints           4
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      0 
      bInterfaceProtocol      0 
      iInterface              0 
      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            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x1400  3x 1024 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x1400  3x 1024 bytes
        bInterval               1
Device Qualifier (for other device speed):
  bLength                10
  bDescriptorType         6
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  bNumConfigurations      1
Device Status:     0x0002
  (Bus Powered)
  Remote Wakeup Enabled

Seems to fail at communicating with right device, anysee.c uses dvb_usb_generic_rw, usb_bulk_msg never gets any data back...

Using latest V4L drivers makes no difference (git clone  git://linuxtv.org/media_build.git, make download untar).

Attachments

VBox.log Download (53.8 KB) - added by Anobug 3 years ago.
VBox.log
dmesg.log Download (34.7 KB) - added by elupus 2 years ago.
Dmesg log of startup of machine with a anysee connected

Change History

Changed 3 years ago by Anobug

VBox.log

comment:1 Changed 3 years ago by Anobug

Tested with Virtualbox 4.1, no help, same problem with newer version too.

comment:2 Changed 3 years ago by Anobug

With USB 2.0 support disabled in Virtualbox settings, device gets recognized, but of course is way too slow to be of any use...

Hardware detection works fine with USB 1.1:

[  132.662840] dvb-usb: found a 'Anysee DVB USB2.0' in warm state.
[  132.662889] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
[  132.664382] DVB: registering new adapter (Anysee DVB USB2.0)
[  132.682607] anysee: firmware version:2.1 hardware id:2
[  132.706671] DVB: registering adapter 0 frontend 0 (Zarlink ZL10353 DVB-T)...
[  132.712562] dvb-usb: Anysee DVB USB2.0 successfully initialized and connected.
[  132.733076] usbcore: registered new interface driver dvb_usb_anysee

comment:3 Changed 2 years ago by elupus

Also have issues with an Anysee adapter. It seem a bit different. It seems to connect, then it keeps logging this every second or so in dmesg.

dvb-usb: error -1 while querying for an remote control event.

Also might be relevant, i get this in the log too:

[ 6.384188] usb 1-1: config 1 interface 0 altsetting 0 bulk endpoint 0x1 has invalid maxpacket 64 [ 6.384192] usb 1-1: config 1 interface 0 altsetting 0 bulk endpoint 0x81 has invalid maxpacket 64 [ 6.384195] usb 1-1: config 1 interface 0 altsetting 1 bulk endpoint 0x1 has invalid maxpacket 64 [ 6.384198] usb 1-1: config 1 interface 0 altsetting 1 bulk endpoint 0x81 has invalid maxpacket 64

Changed 2 years ago by elupus

Dmesg log of startup of machine with a anysee connected

comment:4 Changed 2 years ago by elupus

This is a comment in linux source on that maxpacket error:

/*
 * Some buggy high speed devices have bulk endpoints using
 * maxpacket sizes other than 512.  High speed HCDs may not
 * be able to handle that particular bug, so let's warn...
 */

I bet that is the cause. The virtual HCD can't handle this "bug"

comment:5 Changed 19 months ago by elupus

Just wanted to post an update that this is still an issue with virtualbox 4.2

Note: See TracTickets for help on using tickets.

www.oracle.com
ContactPrivacy policyTerms of Use