All of lore.kernel.org
 help / color / mirror / Atom feed
* strange empia device
@ 2014-08-25 19:01 Lorenzo Marcantonio
  2014-08-31 14:47 ` Frank Schäfer
  0 siblings, 1 reply; 11+ messages in thread
From: Lorenzo Marcantonio @ 2014-08-25 19:01 UTC (permalink / raw)
  To: linux-media

Just bought a roxio video capture dongle. Read around that it was an
easycap clone (supported, then); it seems it's not so anymore :(

It identifies as 1b80:e31d Roxio Video Capture USB

(it also uses audio class for audio)

Now comes the funny thing. Inside there is the usual E2P memory,
a regulator or two and an empia marked EM2980 (*not* em2890!); some
passive and nothing else.

Digging around in the driver cab (emBDA.inf) shows that it seems an
em28285 driver rebranded by roxio... it installs emBDAA.sys and
emOEMA.sys (pretty big: about 1.5MB combined!); also a 16KB merlinFW.rom
(presumably a firmware for the em chip?  I tought they were fixed
function); also the usual directshow .ax filter and some exe in
autorun (emmona.exe: firmware/setup loader?).

Looking in the em28xx gave me the idea that that thing is not
supported (at least in my current 3.6.6)... however the empia sites says
(here http://www.empiatech.com/wp/video-grabber-em282xx/) 28284 should
be linux supported. Nothing said about 28285. And the chip is marked
2980?! by the way, forcing the driver to load I get this:

[ 3439.787701] em28xx: New device  Roxio Video Capture USB @ 480 Mbps (1b80:e31d, interface 0, class 0)
[ 3439.787704] em28xx: Video interface 0 found
[ 3439.787705] em28xx: DVB interface 0 found
[ 3439.787866] em28xx #0: em28xx chip ID = 146

Is there any hope to make it work (even on git kernel there is nothing
for chip id 146...)?

-- 
Lorenzo Marcantonio
Logos Srl

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: strange empia device
  2014-08-25 19:01 strange empia device Lorenzo Marcantonio
@ 2014-08-31 14:47 ` Frank Schäfer
  2014-08-31 14:50   ` Frank Schäfer
  2014-09-01 23:58   ` Andy Walls
  0 siblings, 2 replies; 11+ messages in thread
From: Frank Schäfer @ 2014-08-31 14:47 UTC (permalink / raw)
  To: Lorenzo Marcantonio, linux-media

Hi Lorenzo,

Am 25.08.2014 um 21:01 schrieb Lorenzo Marcantonio:
> Just bought a roxio video capture dongle. Read around that it was an
> easycap clone (supported, then); it seems it's not so anymore :(
>
> It identifies as 1b80:e31d Roxio Video Capture USB
>
> (it also uses audio class for audio)
>
> Now comes the funny thing. Inside there is the usual E2P memory,
> a regulator or two and an empia marked EM2980 (*not* em2890!); some
> passive and nothing else.
>
> Digging around in the driver cab (emBDA.inf) shows that it seems an
> em28285 driver rebranded by roxio... it installs emBDAA.sys and
> emOEMA.sys (pretty big: about 1.5MB combined!); also a 16KB merlinFW.rom
> (presumably a firmware for the em chip?  I tought they were fixed
> function); also the usual directshow .ax filter and some exe in
> autorun (emmona.exe: firmware/setup loader?).
>
> Looking in the em28xx gave me the idea that that thing is not
> supported (at least in my current 3.6.6)... however the empia sites says
> (here http://www.empiatech.com/wp/video-grabber-em282xx/) 28284 should
> be linux supported. Nothing said about 28285. And the chip is marked
> 2980?! by the way, forcing the driver to load I get this:
>
> [ 3439.787701] em28xx: New device  Roxio Video Capture USB @ 480 Mbps (1b80:e31d, interface 0, class 0)
> [ 3439.787704] em28xx: Video interface 0 found
> [ 3439.787705] em28xx: DVB interface 0 found
> [ 3439.787866] em28xx #0: em28xx chip ID = 146
>
> Is there any hope to make it work (even on git kernel there is nothing
> for chip id 146...)?
>

See http://www.spinics.net/lists/linux-media/msg73699.html

HTH,
Frank

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: strange empia device
  2014-08-31 14:47 ` Frank Schäfer
@ 2014-08-31 14:50   ` Frank Schäfer
  2014-08-31 15:41     ` Lorenzo Marcantonio
  2014-09-01 23:58   ` Andy Walls
  1 sibling, 1 reply; 11+ messages in thread
From: Frank Schäfer @ 2014-08-31 14:50 UTC (permalink / raw)
  To: Lorenzo Marcantonio, linux-media


Am 31.08.2014 um 16:47 schrieb Frank Schäfer:
> Hi Lorenzo,
>
> Am 25.08.2014 um 21:01 schrieb Lorenzo Marcantonio:
>> Just bought a roxio video capture dongle. Read around that it was an
>> easycap clone (supported, then); it seems it's not so anymore :(
>>
>> It identifies as 1b80:e31d Roxio Video Capture USB
>>
>> (it also uses audio class for audio)
>>
>> Now comes the funny thing. Inside there is the usual E2P memory,
>> a regulator or two and an empia marked EM2980 (*not* em2890!); some
>> passive and nothing else.
>>
>> Digging around in the driver cab (emBDA.inf) shows that it seems an
>> em28285 driver rebranded by roxio... it installs emBDAA.sys and
>> emOEMA.sys (pretty big: about 1.5MB combined!); also a 16KB merlinFW.rom
>> (presumably a firmware for the em chip?  I tought they were fixed
>> function); also the usual directshow .ax filter and some exe in
>> autorun (emmona.exe: firmware/setup loader?).
>>
>> Looking in the em28xx gave me the idea that that thing is not
>> supported (at least in my current 3.6.6)... however the empia sites says
>> (here http://www.empiatech.com/wp/video-grabber-em282xx/) 28284 should
>> be linux supported. Nothing said about 28285. And the chip is marked
>> 2980?! by the way, forcing the driver to load I get this:
>>
>> [ 3439.787701] em28xx: New device  Roxio Video Capture USB @ 480 Mbps (1b80:e31d, interface 0, class 0)
>> [ 3439.787704] em28xx: Video interface 0 found
>> [ 3439.787705] em28xx: DVB interface 0 found
>> [ 3439.787866] em28xx #0: em28xx chip ID = 146
>>
>> Is there any hope to make it work (even on git kernel there is nothing
>> for chip id 146...)?
>>
> See http://www.spinics.net/lists/linux-media/msg73699.html
>
> HTH,
> Frank
Hmm... could you send us the output of "lsusb -v -d 1b80:e31d ?

Thanks,
Frank


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: strange empia device
  2014-08-31 14:50   ` Frank Schäfer
@ 2014-08-31 15:41     ` Lorenzo Marcantonio
  2014-09-01 18:14       ` Frank Schäfer
  0 siblings, 1 reply; 11+ messages in thread
From: Lorenzo Marcantonio @ 2014-08-31 15:41 UTC (permalink / raw)
  To: linux-media

On Sun, Aug 31, 2014 at 04:50:08PM +0200, Frank Schäfer wrote:
> Hmm... could you send us the output of "lsusb -v -d 1b80:e31d ?

Sure, here is it. However it seems that roxio violated the most sacred
USB rule (i.e. they use that vid/pid for two different kinds of
hardware); in fact even people on Windows have troubles with it (and
a guaranteed blue screen on Win8, it seems :D)

I already had some experience in reverse engineering a webcam (in fact
I even 'patched' the 8051 firmware and fully disassembled the win driver
for one chinese Cypress EZ2 based cam), but that was very painful and
I don't actually want to repeat the experience :D

Bus 002 Device 005: ID 1b80:e31d Afatech 
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  idVendor           0x1b80 Afatech
  idProduct          0xe31d 
  bcdDevice            1.00
  iManufacturer           0 
  iProduct                1 Roxio Video Capture USB
  iSerial                 2 0
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength          406
    bNumInterfaces          3
    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    255 
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0001  1x 1 bytes
        bInterval              11
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0000  1x 0 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x84  EP 4 IN
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0000  1x 0 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x8a  EP 10 IN
        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    255 
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0001  1x 1 bytes
        bInterval              11
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0000  1x 0 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x84  EP 4 IN
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x03ac  1x 940 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x8a  EP 10 IN
        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       2
      bNumEndpoints           4
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      0 
      bInterfaceProtocol    255 
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0001  1x 1 bytes
        bInterval              11
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0ad0  2x 720 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x84  EP 4 IN
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x03ac  1x 940 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x8a  EP 10 IN
        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       3
      bNumEndpoints           4
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      0 
      bInterfaceProtocol    255 
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0001  1x 1 bytes
        bInterval              11
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0c00  2x 1024 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x84  EP 4 IN
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x03ac  1x 940 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x8a  EP 10 IN
        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       4
      bNumEndpoints           4
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      0 
      bInterfaceProtocol    255 
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0001  1x 1 bytes
        bInterval              11
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x1300  3x 768 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x84  EP 4 IN
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x03ac  1x 940 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x8a  EP 10 IN
        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       5
      bNumEndpoints           4
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      0 
      bInterfaceProtocol    255 
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0001  1x 1 bytes
        bInterval              11
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x1380  3x 896 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x84  EP 4 IN
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x03ac  1x 940 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x8a  EP 10 IN
        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       6
      bNumEndpoints           4
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      0 
      bInterfaceProtocol    255 
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0001  1x 1 bytes
        bInterval              11
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x13c0  3x 960 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x84  EP 4 IN
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x03ac  1x 940 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x8a  EP 10 IN
        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       7
      bNumEndpoints           4
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      0 
      bInterfaceProtocol    255 
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0001  1x 1 bytes
        bInterval              11
      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     0x84  EP 4 IN
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x03ac  1x 940 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x8a  EP 10 IN
        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        1
      bAlternateSetting       0
      bNumEndpoints           0
      bInterfaceClass         1 Audio
      bInterfaceSubClass      1 Control Device
      bInterfaceProtocol      0 
      iInterface              0 
      AudioControl Interface Descriptor:
        bLength                 9
        bDescriptorType        36
        bDescriptorSubtype      1 (HEADER)
        bcdADC               1.00
        wTotalLength           40
        bInCollection           1
        baInterfaceNr( 0)       2
      AudioControl Interface Descriptor:
        bLength                12
        bDescriptorType        36
        bDescriptorSubtype      2 (INPUT_TERMINAL)
        bTerminalID             1
        wTerminalType      0x0603 Line Connector
        bAssocTerminal          0
        bNrChannels             2
        wChannelConfig     0x0000
        iChannelNames           0 
        iTerminal               0 
      AudioControl Interface Descriptor:
        bLength                10
        bDescriptorType        36
        bDescriptorSubtype      6 (FEATURE_UNIT)
        bUnitID                 2
        bSourceID               1
        bControlSize            1
        bmaControls( 0)      0x03
          Mute Control
          Volume Control
        bmaControls( 1)      0x00
        bmaControls( 2)      0x00
        iFeature                0 
      AudioControl Interface Descriptor:
        bLength                 9
        bDescriptorType        36
        bDescriptorSubtype      3 (OUTPUT_TERMINAL)
        bTerminalID             3
        wTerminalType      0x0101 USB Streaming
        bAssocTerminal          0
        bSourceID               2
        iTerminal               0 
    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           3
        bDelay                  1 frames
        wFormatTag              1 PCM
      AudioStreaming Interface Descriptor:
        bLength                11
        bDescriptorType        36
        bDescriptorSubtype      2 (FORMAT_TYPE)
        bFormatType             1 (FORMAT_TYPE_I)
        bNrChannels             2
        bSubframeSize           2
        bBitResolution         16
        bSamFreqType            1 Discrete
        tSamFreq[ 0]        48000
      Endpoint Descriptor:
        bLength                 9
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x00c0  1x 192 bytes
        bInterval               4
        bRefresh                0
        bSynchAddress           0
        AudioControl Endpoint Descriptor:
          bLength                 7
          bDescriptorType        37
          bDescriptorSubtype      1 (EP_GENERAL)
          bmAttributes         0x00
          bLockDelayUnits         0 Undefined
          wLockDelay              0 Undefined
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:     0x0000
  (Bus Powered)

-- 
Lorenzo Marcantonio
Logos Srl

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: strange empia device
  2014-08-31 15:41     ` Lorenzo Marcantonio
@ 2014-09-01 18:14       ` Frank Schäfer
  2014-09-01 19:03         ` Lorenzo Marcantonio
  0 siblings, 1 reply; 11+ messages in thread
From: Frank Schäfer @ 2014-09-01 18:14 UTC (permalink / raw)
  To: Lorenzo Marcantonio; +Cc: linux-media


Am 31.08.2014 um 17:41 schrieb Lorenzo Marcantonio:
> On Sun, Aug 31, 2014 at 04:50:08PM +0200, Frank Schäfer wrote:
>> Hmm... could you send us the output of "lsusb -v -d 1b80:e31d ?
> Sure, here is it. However it seems that roxio violated the most sacred
> USB rule (i.e. they use that vid/pid for two different kinds of
> hardware); 
What's the other device using this vid:pid and which hardware does it use ?

> in fact even people on Windows have troubles with it (and
> a guaranteed blue screen on Win8, it seems :D)
>
> I already had some experience in reverse engineering a webcam (in fact
> I even 'patched' the 8051 firmware and fully disassembled the win driver
> for one chinese Cypress EZ2 based cam), but that was very painful and
> I don't actually want to repeat the experience :D
There is very likely no need to patch a firmware. ;-)
The big task is the integrated decoder. Makes no fun without a datasheet. :/

>
> Bus 002 Device 005: ID 1b80:e31d Afatech 
> Device Descriptor:
>   bLength                18
>   bDescriptorType         1
>   bcdUSB               2.00
>   bDeviceClass            0 (Defined at Interface level)
>   bDeviceSubClass         0 
>   bDeviceProtocol         0 
>   bMaxPacketSize0        64
>   idVendor           0x1b80 Afatech
>   idProduct          0xe31d 
>   bcdDevice            1.00
>   iManufacturer           0 
>   iProduct                1 Roxio Video Capture USB
>   iSerial                 2 0
>   bNumConfigurations      1
>   Configuration Descriptor:
>     bLength                 9
>     bDescriptorType         2
>     wTotalLength          406
>     bNumInterfaces          3
>     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    255 
>       iInterface              0 
>       Endpoint Descriptor:
>         bLength                 7
>         bDescriptorType         5
>         bEndpointAddress     0x81  EP 1 IN
>         bmAttributes            3
>           Transfer Type            Interrupt
>           Synch Type               None
>           Usage Type               Data
>         wMaxPacketSize     0x0001  1x 1 bytes
>         bInterval              11
>       Endpoint Descriptor:
>         bLength                 7
>         bDescriptorType         5
>         bEndpointAddress     0x82  EP 2 IN
>         bmAttributes            1
>           Transfer Type            Isochronous
>           Synch Type               None
>           Usage Type               Data
>         wMaxPacketSize     0x0000  1x 0 bytes
>         bInterval               1
>       Endpoint Descriptor:
>         bLength                 7
>         bDescriptorType         5
>         bEndpointAddress     0x84  EP 4 IN
>         bmAttributes            1
>           Transfer Type            Isochronous
>           Synch Type               None
>           Usage Type               Data
>         wMaxPacketSize     0x0000  1x 0 bytes
>         bInterval               1
>       Endpoint Descriptor:
>         bLength                 7
>         bDescriptorType         5
>         bEndpointAddress     0x8a  EP 10 IN
>         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    255 
>       iInterface              0 
>       Endpoint Descriptor:
>         bLength                 7
>         bDescriptorType         5
>         bEndpointAddress     0x81  EP 1 IN
>         bmAttributes            3
>           Transfer Type            Interrupt
>           Synch Type               None
>           Usage Type               Data
>         wMaxPacketSize     0x0001  1x 1 bytes
>         bInterval              11
>       Endpoint Descriptor:
>         bLength                 7
>         bDescriptorType         5
>         bEndpointAddress     0x82  EP 2 IN
>         bmAttributes            1
>           Transfer Type            Isochronous
>           Synch Type               None
>           Usage Type               Data
>         wMaxPacketSize     0x0000  1x 0 bytes
>         bInterval               1
>       Endpoint Descriptor:
>         bLength                 7
>         bDescriptorType         5
>         bEndpointAddress     0x84  EP 4 IN
>         bmAttributes            1
>           Transfer Type            Isochronous
>           Synch Type               None
>           Usage Type               Data
>         wMaxPacketSize     0x03ac  1x 940 bytes
>         bInterval               1
>       Endpoint Descriptor:
>         bLength                 7
>         bDescriptorType         5
>         bEndpointAddress     0x8a  EP 10 IN
>         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       2
>       bNumEndpoints           4
>       bInterfaceClass       255 Vendor Specific Class
>       bInterfaceSubClass      0 
>       bInterfaceProtocol    255 
>       iInterface              0 
>       Endpoint Descriptor:
>         bLength                 7
>         bDescriptorType         5
>         bEndpointAddress     0x81  EP 1 IN
>         bmAttributes            3
>           Transfer Type            Interrupt
>           Synch Type               None
>           Usage Type               Data
>         wMaxPacketSize     0x0001  1x 1 bytes
>         bInterval              11
>       Endpoint Descriptor:
>         bLength                 7
>         bDescriptorType         5
>         bEndpointAddress     0x82  EP 2 IN
>         bmAttributes            1
>           Transfer Type            Isochronous
>           Synch Type               None
>           Usage Type               Data
>         wMaxPacketSize     0x0ad0  2x 720 bytes
>         bInterval               1
>       Endpoint Descriptor:
>         bLength                 7
>         bDescriptorType         5
>         bEndpointAddress     0x84  EP 4 IN
>         bmAttributes            1
>           Transfer Type            Isochronous
>           Synch Type               None
>           Usage Type               Data
>         wMaxPacketSize     0x03ac  1x 940 bytes
>         bInterval               1
>       Endpoint Descriptor:
>         bLength                 7
>         bDescriptorType         5
>         bEndpointAddress     0x8a  EP 10 IN
>         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       3
>       bNumEndpoints           4
>       bInterfaceClass       255 Vendor Specific Class
>       bInterfaceSubClass      0 
>       bInterfaceProtocol    255 
>       iInterface              0 
>       Endpoint Descriptor:
>         bLength                 7
>         bDescriptorType         5
>         bEndpointAddress     0x81  EP 1 IN
>         bmAttributes            3
>           Transfer Type            Interrupt
>           Synch Type               None
>           Usage Type               Data
>         wMaxPacketSize     0x0001  1x 1 bytes
>         bInterval              11
>       Endpoint Descriptor:
>         bLength                 7
>         bDescriptorType         5
>         bEndpointAddress     0x82  EP 2 IN
>         bmAttributes            1
>           Transfer Type            Isochronous
>           Synch Type               None
>           Usage Type               Data
>         wMaxPacketSize     0x0c00  2x 1024 bytes
>         bInterval               1
>       Endpoint Descriptor:
>         bLength                 7
>         bDescriptorType         5
>         bEndpointAddress     0x84  EP 4 IN
>         bmAttributes            1
>           Transfer Type            Isochronous
>           Synch Type               None
>           Usage Type               Data
>         wMaxPacketSize     0x03ac  1x 940 bytes
>         bInterval               1
>       Endpoint Descriptor:
>         bLength                 7
>         bDescriptorType         5
>         bEndpointAddress     0x8a  EP 10 IN
>         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       4
>       bNumEndpoints           4
>       bInterfaceClass       255 Vendor Specific Class
>       bInterfaceSubClass      0 
>       bInterfaceProtocol    255 
>       iInterface              0 
>       Endpoint Descriptor:
>         bLength                 7
>         bDescriptorType         5
>         bEndpointAddress     0x81  EP 1 IN
>         bmAttributes            3
>           Transfer Type            Interrupt
>           Synch Type               None
>           Usage Type               Data
>         wMaxPacketSize     0x0001  1x 1 bytes
>         bInterval              11
>       Endpoint Descriptor:
>         bLength                 7
>         bDescriptorType         5
>         bEndpointAddress     0x82  EP 2 IN
>         bmAttributes            1
>           Transfer Type            Isochronous
>           Synch Type               None
>           Usage Type               Data
>         wMaxPacketSize     0x1300  3x 768 bytes
>         bInterval               1
>       Endpoint Descriptor:
>         bLength                 7
>         bDescriptorType         5
>         bEndpointAddress     0x84  EP 4 IN
>         bmAttributes            1
>           Transfer Type            Isochronous
>           Synch Type               None
>           Usage Type               Data
>         wMaxPacketSize     0x03ac  1x 940 bytes
>         bInterval               1
>       Endpoint Descriptor:
>         bLength                 7
>         bDescriptorType         5
>         bEndpointAddress     0x8a  EP 10 IN
>         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       5
>       bNumEndpoints           4
>       bInterfaceClass       255 Vendor Specific Class
>       bInterfaceSubClass      0 
>       bInterfaceProtocol    255 
>       iInterface              0 
>       Endpoint Descriptor:
>         bLength                 7
>         bDescriptorType         5
>         bEndpointAddress     0x81  EP 1 IN
>         bmAttributes            3
>           Transfer Type            Interrupt
>           Synch Type               None
>           Usage Type               Data
>         wMaxPacketSize     0x0001  1x 1 bytes
>         bInterval              11
>       Endpoint Descriptor:
>         bLength                 7
>         bDescriptorType         5
>         bEndpointAddress     0x82  EP 2 IN
>         bmAttributes            1
>           Transfer Type            Isochronous
>           Synch Type               None
>           Usage Type               Data
>         wMaxPacketSize     0x1380  3x 896 bytes
>         bInterval               1
>       Endpoint Descriptor:
>         bLength                 7
>         bDescriptorType         5
>         bEndpointAddress     0x84  EP 4 IN
>         bmAttributes            1
>           Transfer Type            Isochronous
>           Synch Type               None
>           Usage Type               Data
>         wMaxPacketSize     0x03ac  1x 940 bytes
>         bInterval               1
>       Endpoint Descriptor:
>         bLength                 7
>         bDescriptorType         5
>         bEndpointAddress     0x8a  EP 10 IN
>         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       6
>       bNumEndpoints           4
>       bInterfaceClass       255 Vendor Specific Class
>       bInterfaceSubClass      0 
>       bInterfaceProtocol    255 
>       iInterface              0 
>       Endpoint Descriptor:
>         bLength                 7
>         bDescriptorType         5
>         bEndpointAddress     0x81  EP 1 IN
>         bmAttributes            3
>           Transfer Type            Interrupt
>           Synch Type               None
>           Usage Type               Data
>         wMaxPacketSize     0x0001  1x 1 bytes
>         bInterval              11
>       Endpoint Descriptor:
>         bLength                 7
>         bDescriptorType         5
>         bEndpointAddress     0x82  EP 2 IN
>         bmAttributes            1
>           Transfer Type            Isochronous
>           Synch Type               None
>           Usage Type               Data
>         wMaxPacketSize     0x13c0  3x 960 bytes
>         bInterval               1
>       Endpoint Descriptor:
>         bLength                 7
>         bDescriptorType         5
>         bEndpointAddress     0x84  EP 4 IN
>         bmAttributes            1
>           Transfer Type            Isochronous
>           Synch Type               None
>           Usage Type               Data
>         wMaxPacketSize     0x03ac  1x 940 bytes
>         bInterval               1
>       Endpoint Descriptor:
>         bLength                 7
>         bDescriptorType         5
>         bEndpointAddress     0x8a  EP 10 IN
>         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       7
>       bNumEndpoints           4
>       bInterfaceClass       255 Vendor Specific Class
>       bInterfaceSubClass      0 
>       bInterfaceProtocol    255 
>       iInterface              0 
>       Endpoint Descriptor:
>         bLength                 7
>         bDescriptorType         5
>         bEndpointAddress     0x81  EP 1 IN
>         bmAttributes            3
>           Transfer Type            Interrupt
>           Synch Type               None
>           Usage Type               Data
>         wMaxPacketSize     0x0001  1x 1 bytes
>         bInterval              11
>       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     0x84  EP 4 IN
>         bmAttributes            1
>           Transfer Type            Isochronous
>           Synch Type               None
>           Usage Type               Data
>         wMaxPacketSize     0x03ac  1x 940 bytes
>         bInterval               1
>       Endpoint Descriptor:
>         bLength                 7
>         bDescriptorType         5
>         bEndpointAddress     0x8a  EP 10 IN
>         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        1
>       bAlternateSetting       0
>       bNumEndpoints           0
>       bInterfaceClass         1 Audio
>       bInterfaceSubClass      1 Control Device
>       bInterfaceProtocol      0 
>       iInterface              0 
>       AudioControl Interface Descriptor:
>         bLength                 9
>         bDescriptorType        36
>         bDescriptorSubtype      1 (HEADER)
>         bcdADC               1.00
>         wTotalLength           40
>         bInCollection           1
>         baInterfaceNr( 0)       2
>       AudioControl Interface Descriptor:
>         bLength                12
>         bDescriptorType        36
>         bDescriptorSubtype      2 (INPUT_TERMINAL)
>         bTerminalID             1
>         wTerminalType      0x0603 Line Connector
>         bAssocTerminal          0
>         bNrChannels             2
>         wChannelConfig     0x0000
>         iChannelNames           0 
>         iTerminal               0 
>       AudioControl Interface Descriptor:
>         bLength                10
>         bDescriptorType        36
>         bDescriptorSubtype      6 (FEATURE_UNIT)
>         bUnitID                 2
>         bSourceID               1
>         bControlSize            1
>         bmaControls( 0)      0x03
>           Mute Control
>           Volume Control
>         bmaControls( 1)      0x00
>         bmaControls( 2)      0x00
>         iFeature                0 
>       AudioControl Interface Descriptor:
>         bLength                 9
>         bDescriptorType        36
>         bDescriptorSubtype      3 (OUTPUT_TERMINAL)
>         bTerminalID             3
>         wTerminalType      0x0101 USB Streaming
>         bAssocTerminal          0
>         bSourceID               2
>         iTerminal               0 
>     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           3
>         bDelay                  1 frames
>         wFormatTag              1 PCM
>       AudioStreaming Interface Descriptor:
>         bLength                11
>         bDescriptorType        36
>         bDescriptorSubtype      2 (FORMAT_TYPE)
>         bFormatType             1 (FORMAT_TYPE_I)
>         bNrChannels             2
>         bSubframeSize           2
>         bBitResolution         16
>         bSamFreqType            1 Discrete
>         tSamFreq[ 0]        48000
>       Endpoint Descriptor:
>         bLength                 9
>         bDescriptorType         5
>         bEndpointAddress     0x83  EP 3 IN
>         bmAttributes            1
>           Transfer Type            Isochronous
>           Synch Type               None
>           Usage Type               Data
>         wMaxPacketSize     0x00c0  1x 192 bytes
>         bInterval               4
>         bRefresh                0
>         bSynchAddress           0
>         AudioControl Endpoint Descriptor:
>           bLength                 7
>           bDescriptorType        37
>           bDescriptorSubtype      1 (EP_GENERAL)
>           bmAttributes         0x00
>           bLockDelayUnits         0 Undefined
>           wLockDelay              0 Undefined
> 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:     0x0000
>   (Bus Powered)
>
Thanks, looks like the other em2980 we have seen (Dazzle Video Capture
USB V1.0).

Regards,
Frank



^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: strange empia device
  2014-09-01 18:14       ` Frank Schäfer
@ 2014-09-01 19:03         ` Lorenzo Marcantonio
  2014-09-01 20:29           ` Frank Schäfer
  0 siblings, 1 reply; 11+ messages in thread
From: Lorenzo Marcantonio @ 2014-09-01 19:03 UTC (permalink / raw)
  To: linux-media

On Mon, Sep 01, 2014 at 08:14:25PM +0200, Frank Schäfer wrote:

> What's the other device using this vid:pid and which hardware does it use ?

The previous generation of the tool:

http://www.linuxtv.org/wiki/index.php/RoxioEasyVHStoDVD

... an easycap DC60+ clone. Doubly hating it since I bought is sure that
it would have been supported!

> The big task is the integrated decoder. Makes no fun without a datasheet. :/

I presume that with decoder you mean the composite to YUV translator... With the datasheet is too easy :D strange thing is eMPIA says that linux
is supported for some of their chip. But of course the 2980 isn't even
advertised and probably they only give you docs if you buy 100K pieces:(

> Thanks, looks like the other em2980 we have seen (Dazzle Video Capture
> USB V1.0).

Please tell if there are other tests or captures you need. By the way,
even on Windows, transfer seems flaky. If the bus is not perfectly
idle or there is some nontrivial CPU load often it loses transfer sync
and the image get "split" (probably an isoc transfer get lost and it
doesn't number the packets or something). Had the same problem with the
other chinese camera I used (USB suckitude knows no limits:P)

-- 
Lorenzo Marcantonio
Logos Srl

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: strange empia device
  2014-09-01 19:03         ` Lorenzo Marcantonio
@ 2014-09-01 20:29           ` Frank Schäfer
  0 siblings, 0 replies; 11+ messages in thread
From: Frank Schäfer @ 2014-09-01 20:29 UTC (permalink / raw)
  To: Lorenzo Marcantonio; +Cc: linux-media


Am 01.09.2014 um 21:03 schrieb Lorenzo Marcantonio:
> On Mon, Sep 01, 2014 at 08:14:25PM +0200, Frank Schäfer wrote:
>
>> What's the other device using this vid:pid and which hardware does it use ?
> The previous generation of the tool:
>
> http://www.linuxtv.org/wiki/index.php/RoxioEasyVHStoDVD
>
> ... an easycap DC60+ clone. Doubly hating it since I bought is sure that
> it would have been supported!
>
>> The big task is the integrated decoder. Makes no fun without a datasheet. :/
> I presume that with decoder you mean the composite to YUV translator... 
Yes.

> With the datasheet is too easy :D 
:D

> strange thing is eMPIA says that linux
> is supported for some of their chip. But of course the 2980 isn't even
> advertised 
It had been advertised in past, but they removed all informations about
it from their website. :-(

> and probably they only give you docs if you buy 100K pieces:(
...and sign an NDA (non-disclosure agreement).

>
>> Thanks, looks like the other em2980 we have seen (Dazzle Video Capture
>> USB V1.0).
> Please tell if there are other tests or captures you need.
At the moment, no.

>  By the way,
> even on Windows, transfer seems flaky. If the bus is not perfectly
> idle or there is some nontrivial CPU load often it loses transfer sync
> and the image get "split" (probably an isoc transfer get lost and it
> doesn't number the packets or something). 
Not our problem. ;-)

Regards,
Frank


> Had the same problem with the
> other chinese camera I used (USB suckitude knows no limits:P)



^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: strange empia device
  2014-08-31 14:47 ` Frank Schäfer
  2014-08-31 14:50   ` Frank Schäfer
@ 2014-09-01 23:58   ` Andy Walls
  2014-09-02  6:28     ` Lorenzo Marcantonio
  1 sibling, 1 reply; 11+ messages in thread
From: Andy Walls @ 2014-09-01 23:58 UTC (permalink / raw)
  To: Frank Schäfer; +Cc: Lorenzo Marcantonio, linux-media

On Sun, 2014-08-31 at 16:47 +0200, Frank Schäfer wrote:
> Hi Lorenzo,
> 
> Am 25.08.2014 um 21:01 schrieb Lorenzo Marcantonio:
> > Just bought a roxio video capture dongle. Read around that it was an
> > easycap clone (supported, then); it seems it's not so anymore :(
> >
> > It identifies as 1b80:e31d Roxio Video Capture USB
> >
> > (it also uses audio class for audio)
> >
> > Now comes the funny thing. Inside there is the usual E2P memory,
> > a regulator or two and an empia marked EM2980 (*not* em2890!); some
> > passive and nothing else.
> >
> > Digging around in the driver cab (emBDA.inf) shows that it seems an
> > em28285 driver rebranded by roxio... it installs emBDAA.sys and
> > emOEMA.sys (pretty big: about 1.5MB combined!); also a 16KB merlinFW.rom
> > (presumably a firmware for the em chip? 

A Merlin firmware of 16 kB strongly suggests that this chip has an
integarted Conexant CX25843 (Merlin Audio + Thresher Video = Mako)
Broadtcast A/V decoder core.  The chip might only have a Merlin
integrated, but so far I've never encountered that.  It will be easy
enough to tell, if the Thresher registers don't respond or only respond
with junk.

The Merlin has an integrated 8051 microcontroller that, if you are
decoding SIF audio from an analog tuner, will periodically reprogram
registers in the Merlin core to do spectral analysis of the SIF to
determine the broadcast audio standard (BTSC, etc.).

A public datasheet for the CX25843 is here:
http://dl.ivtvdriver.org/datasheets/video/cx25840.pdf

There appear to be at least two families of CX25843 cores:

- the core in the stand-alone CX2584[0123] chips and the '843 core
integrated into the CX23418

- the core integrated into the CX2388[578] and CX2310[012] chips, which
have a slightly different register defintion in some places 


The cx25840 driver under linux handles most of these, except that the
cx18 driver has it's own fork of the cx25840 driver in its cx18-av-*
files.  The core is normally I2C connected, except for the one
integrated into the CX23418.

If the empia device driver needs to support a CX25843 core, I highly
recommend forking a copy of the cx25840 driver specifically for the
empia devices, as opposed to trying to fit in yet another variant in the
cx25840 driver itself. 

FWIW, since the CX2310[012] devices are also USB connected, maybe that
driver can provide some basis for comparison along with the USB traces
you already have.  (I haven't compared them myself.)

Regards,
Andy

>  I tought they were fixed
> > function); also the usual directshow .ax filter and some exe in
> > autorun (emmona.exe: firmware/setup loader?).
> >
> > Looking in the em28xx gave me the idea that that thing is not
> > supported (at least in my current 3.6.6)... however the empia sites says
> > (here http://www.empiatech.com/wp/video-grabber-em282xx/) 28284 should
> > be linux supported. Nothing said about 28285. And the chip is marked
> > 2980?! by the way, forcing the driver to load I get this:
> >
> > [ 3439.787701] em28xx: New device  Roxio Video Capture USB @ 480 Mbps (1b80:e31d, interface 0, class 0)
> > [ 3439.787704] em28xx: Video interface 0 found
> > [ 3439.787705] em28xx: DVB interface 0 found
> > [ 3439.787866] em28xx #0: em28xx chip ID = 146
> >
> > Is there any hope to make it work (even on git kernel there is nothing
> > for chip id 146...)?
> >
> 
> See http://www.spinics.net/lists/linux-media/msg73699.html
> 
> HTH,
> Frank
> --
> To unsubscribe from this list: send the line "unsubscribe linux-media" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html



^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: strange empia device
  2014-09-01 23:58   ` Andy Walls
@ 2014-09-02  6:28     ` Lorenzo Marcantonio
  2014-09-02 11:43       ` Andy Walls
  2014-09-02 16:22       ` Frank Schäfer
  0 siblings, 2 replies; 11+ messages in thread
From: Lorenzo Marcantonio @ 2014-09-02  6:28 UTC (permalink / raw)
  To: linux-media

On Mon, Sep 01, 2014 at 07:58:52PM -0400, Andy Walls wrote:
> A Merlin firmware of 16 kB strongly suggests that this chip has an
> integarted Conexant CX25843 (Merlin Audio + Thresher Video = Mako)
> Broadtcast A/V decoder core.  The chip might only have a Merlin
> integrated, but so far I've never encountered that.  It will be easy
> enough to tell, if the Thresher registers don't respond or only respond
> with junk.

However I strongly suspect that these drivers are for a whole *family*
of empia device. The oem ini by roxio talks about three different
parts... probably they give one sys file for everyone and the oem
customizes the ini.

In short the merlin fw may not be actually used for *this* part but only
for other empia devices/configurations.

Otherwise I wonder *why* a fscking 1.5MB of sys driver for a mostly dumb
capture device...

-- 
Lorenzo Marcantonio
Logos Srl

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: strange empia device
  2014-09-02  6:28     ` Lorenzo Marcantonio
@ 2014-09-02 11:43       ` Andy Walls
  2014-09-02 16:22       ` Frank Schäfer
  1 sibling, 0 replies; 11+ messages in thread
From: Andy Walls @ 2014-09-02 11:43 UTC (permalink / raw)
  To: Lorenzo Marcantonio, linux-media

On September 2, 2014 2:28:23 AM EDT, Lorenzo Marcantonio <l.marcantonio@logossrl.com> wrote:
>On Mon, Sep 01, 2014 at 07:58:52PM -0400, Andy Walls wrote:
>> A Merlin firmware of 16 kB strongly suggests that this chip has an
>> integarted Conexant CX25843 (Merlin Audio + Thresher Video = Mako)
>> Broadtcast A/V decoder core.  The chip might only have a Merlin
>> integrated, but so far I've never encountered that.  It will be easy
>> enough to tell, if the Thresher registers don't respond or only
>respond
>> with junk.
>
>However I strongly suspect that these drivers are for a whole *family*
>of empia device. The oem ini by roxio talks about three different
>parts... probably they give one sys file for everyone and the oem
>customizes the ini.
>
>In short the merlin fw may not be actually used for *this* part but
>only
>for other empia devices/configurations.
>
>Otherwise I wonder *why* a fscking 1.5MB of sys driver for a mostly
>dumb
>capture device...

Yeah.  I guess you can analyze the USB captures of the Windows driver and see if it looks like cx25843 registers are being accessed.  If so, you are that much closer to a working linux driver.  If not, you still have an unknown decoder as a big hurdle.

Regards,
Andy

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: strange empia device
  2014-09-02  6:28     ` Lorenzo Marcantonio
  2014-09-02 11:43       ` Andy Walls
@ 2014-09-02 16:22       ` Frank Schäfer
  1 sibling, 0 replies; 11+ messages in thread
From: Frank Schäfer @ 2014-09-02 16:22 UTC (permalink / raw)
  To: Lorenzo Marcantonio; +Cc: linux-media


Am 02.09.2014 um 08:28 schrieb Lorenzo Marcantonio:
> On Mon, Sep 01, 2014 at 07:58:52PM -0400, Andy Walls wrote:
>> A Merlin firmware of 16 kB strongly suggests that this chip has an
>> integarted Conexant CX25843 (Merlin Audio + Thresher Video = Mako)
>> Broadtcast A/V decoder core.  The chip might only have a Merlin
>> integrated, but so far I've never encountered that.  It will be easy
>> enough to tell, if the Thresher registers don't respond or only respond
>> with junk.
> However I strongly suspect that these drivers are for a whole *family*
> of empia device. The oem ini by roxio talks about three different
> parts... probably they give one sys file for everyone and the oem
> customizes the ini.
>
> In short the merlin fw may not be actually used for *this* part but only
> for other empia devices/configurations.
>
> Otherwise I wonder *why* a fscking 1.5MB of sys driver for a mostly dumb
> capture device...
Right. There is also no firmware upload in the USB-log I have checked.

Regards,
Frank

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2014-09-02 16:21 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-08-25 19:01 strange empia device Lorenzo Marcantonio
2014-08-31 14:47 ` Frank Schäfer
2014-08-31 14:50   ` Frank Schäfer
2014-08-31 15:41     ` Lorenzo Marcantonio
2014-09-01 18:14       ` Frank Schäfer
2014-09-01 19:03         ` Lorenzo Marcantonio
2014-09-01 20:29           ` Frank Schäfer
2014-09-01 23:58   ` Andy Walls
2014-09-02  6:28     ` Lorenzo Marcantonio
2014-09-02 11:43       ` Andy Walls
2014-09-02 16:22       ` Frank Schäfer

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.