Skip to contentSkip to conversation

EM28xx - MSI Digivox Trio - almost working.

DISCUSSION P. van Gaans 2 participants 6 messages Jun 20, 2013 – Oct 23, 2013 Media (V4L/DVB)

lore
Share & tools
lore
#0 lore raw

Hi all,

(device: http://linuxtv.org/wiki/index.php/MSI_DigiVox_Trio)

Thanks to the message from Philip Pemberton I was able to try loading the em28xx driver myself using:

sudo modprobe em28xx card=NUMBER
echo eb1a 2885 | sudo tee /sys/bus/usb/drivers/em28xx/new_id

Here are the results for NUMBER:

Card=79 (Terratec Cinergy H5): works, less corruption than card=87, just some blocks every few seconds. Attenuators didn't help.
Card=81 (Hauppauge WinTV HVR 930C): doesn't work, no /dev/dvb adapter
Card=82 (Terratec Cinergy HTC Stick): similar to card=87
Card=85 (PCTV QuatroStick (510e)): constantly producing i2c read errors, doesn't work
Card=86 (PCTV QuatroStick nano (520e): same
Card=87 (Terratec Cinergy HTC USB XS): stick works and scans channels, but reception is bugged with corruption. It's like having a DVB-T antenna that's just not good enough, except this is DVB-C and my signal is excellent. Attenuators didn't help. Card=88 (C3 Tech Digital Duo HDTV/SDTV USB): doesn't work, no /dev/dvb adapter

So with card=79 it's really close to working. What else can I do?

Best regareds,

P. van Gaans

#1 lore raw
Quoted 26 lines · P. van Gaans

Hi all,

(device: http://linuxtv.org/wiki/index.php/MSI_DigiVox_Trio)

Thanks to the message from Philip Pemberton I was able to try loading the em28xx driver myself using:

sudo modprobe em28xx card=NUMBER
echo eb1a 2885 | sudo tee /sys/bus/usb/drivers/em28xx/new_id

Here are the results for NUMBER:

Card=79 (Terratec Cinergy H5): works, less corruption than card=87, just some blocks every few seconds. Attenuators didn't help. Card=81 (Hauppauge WinTV HVR 930C): doesn't work, no /dev/dvb adapter Card=82 (Terratec Cinergy HTC Stick): similar to card=87 Card=85 (PCTV QuatroStick (510e)): constantly producing i2c read errors, doesn't work
Card=86 (PCTV QuatroStick nano (520e): same
Card=87 (Terratec Cinergy HTC USB XS): stick works and scans channels, but reception is bugged with corruption. It's like having a DVB-T antenna that's just not good enough, except this is DVB-C and my signal is excellent. Attenuators didn't help.
Card=88 (C3 Tech Digital Duo HDTV/SDTV USB): doesn't work, no /dev/dvb adapter

Quoted 1 line

So with card=79 it's really close to working. What else can I do?

Take USB sniffs, generate code, copy & paste that to the driver until it starts working. After it start working start reducing generated code. That way with trial and error you will find out problematic register(s) very quickly.

There is suitable scripts to generate em28xx drx-k code from the sniffs, maybe in dvb-utils package. Mauro has done that script. I used it when I added PCTV 520e support (problem was bug in DRX-K GPIO code).

regards
Antti

Signature · 1 line
http://palosaari.fi/
#2 lore raw
Quoted 34 lines · Antti Palosaari
Quoted 26 lines · P. van Gaans

Hi all,

(device: http://linuxtv.org/wiki/index.php/MSI_DigiVox_Trio)

Thanks to the message from Philip Pemberton I was able to try loading the em28xx driver myself using:

sudo modprobe em28xx card=NUMBER
echo eb1a 2885 | sudo tee /sys/bus/usb/drivers/em28xx/new_id

Here are the results for NUMBER:

Card=79 (Terratec Cinergy H5): works, less corruption than card=87, just some blocks every few seconds. Attenuators didn't help. Card=81 (Hauppauge WinTV HVR 930C): doesn't work, no /dev/dvb adapter Card=82 (Terratec Cinergy HTC Stick): similar to card=87 Card=85 (PCTV QuatroStick (510e)): constantly producing i2c read errors, doesn't work
Card=86 (PCTV QuatroStick nano (520e): same
Card=87 (Terratec Cinergy HTC USB XS): stick works and scans channels, but reception is bugged with corruption. It's like having a DVB-T antenna that's just not good enough, except this is DVB-C and my signal is excellent. Attenuators didn't help.
Card=88 (C3 Tech Digital Duo HDTV/SDTV USB): doesn't work, no /dev/dvb adapter

Quoted 1 line

So with card=79 it's really close to working. What else can I do?

Take USB sniffs, generate code, copy & paste that to the driver until it starts working. After it start working start reducing generated code. That way with trial and error you will find out problematic register(s) very quickly.

Quoted 7 lines

There is suitable scripts to generate em28xx drx-k code from the sniffs, maybe in dvb-utils package. Mauro has done that script. I used it when I added PCTV 520e support (problem was bug in DRX-K GPIO code).

regards
Antti

Hi Antti,

Thanks for your answer. Do you mean I sniff on Windows or Linux? Would you happen to remember the name of the script you are referring to?

Also in em28xx-new (https://bitbucket.org/mdonoughe/em28xx-new/overview) the device was supported. Wouldn't it be easier to try and find the differences between the Cinergy H5 and the Digivox in that code, or should I not even think of going there?

Best regards,

P. van Gaans

#3 lore raw
Quoted 48 lines · P. van Gaans
Quoted 34 lines · Antti Palosaari
Quoted 26 lines · P. van Gaans

Hi all,

(device: http://linuxtv.org/wiki/index.php/MSI_DigiVox_Trio)

Thanks to the message from Philip Pemberton I was able to try loading the em28xx driver myself using:

sudo modprobe em28xx card=NUMBER
echo eb1a 2885 | sudo tee /sys/bus/usb/drivers/em28xx/new_id

Here are the results for NUMBER:

Card=79 (Terratec Cinergy H5): works, less corruption than card=87, just some blocks every few seconds. Attenuators didn't help. Card=81 (Hauppauge WinTV HVR 930C): doesn't work, no /dev/dvb adapter Card=82 (Terratec Cinergy HTC Stick): similar to card=87 Card=85 (PCTV QuatroStick (510e)): constantly producing i2c read errors, doesn't work
Card=86 (PCTV QuatroStick nano (520e): same
Card=87 (Terratec Cinergy HTC USB XS): stick works and scans channels, but reception is bugged with corruption. It's like having a DVB-T antenna that's just not good enough, except this is DVB-C and my signal is excellent. Attenuators didn't help.
Card=88 (C3 Tech Digital Duo HDTV/SDTV USB): doesn't work, no /dev/dvb adapter

Quoted 1 line

So with card=79 it's really close to working. What else can I do?

Take USB sniffs, generate code, copy & paste that to the driver until it starts working. After it start working start reducing generated code. That way with trial and error you will find out problematic register(s) very quickly.

Quoted 7 lines

There is suitable scripts to generate em28xx drx-k code from the sniffs, maybe in dvb-utils package. Mauro has done that script. I used it when I added PCTV 520e support (problem was bug in DRX-K GPIO code).

regards
Antti

Hi Antti,

Thanks for your answer. Do you mean I sniff on Windows or Linux? Would you happen to remember the name of the script you are referring to?

Quoted 8 lines

Also in em28xx-new (https://bitbucket.org/mdonoughe/em28xx-new/overview)
the device was supported. Wouldn't it be easier to try and find the differences between the Cinergy H5 and the Digivox in that code, or should I not even think of going there?

Best regards,

P. van Gaans

Download codes and look yourself. Also, I have added MaxMedia UB425-TC to that driver. You should test it too.

Basically there is not much critical that differs between those devices. GPIO is the most important. Also some dummy analog decoder init could be needed.

You have to take sniffs and compare those against drivers. There is not much I could do for you.

regards
Antti

Signature · 1 line
http://palosaari.fi/
#4 lore raw
In reply to P. van Gaans
Quoted 28 lines · P. van Gaans

Hi all,

(device: http://linuxtv.org/wiki/index.php/MSI_DigiVox_Trio)

Thanks to the message from Philip Pemberton I was able to try loading the em28xx driver myself using:

sudo modprobe em28xx card=NUMBER
echo eb1a 2885 | sudo tee /sys/bus/usb/drivers/em28xx/new_id

Here are the results for NUMBER:

Card=79 (Terratec Cinergy H5): works, less corruption than card=87, just some blocks every few seconds. Attenuators didn't help. Card=81 (Hauppauge WinTV HVR 930C): doesn't work, no /dev/dvb adapter Card=82 (Terratec Cinergy HTC Stick): similar to card=87 Card=85 (PCTV QuatroStick (510e)): constantly producing i2c read errors, doesn't work
Card=86 (PCTV QuatroStick nano (520e): same
Card=87 (Terratec Cinergy HTC USB XS): stick works and scans channels, but reception is bugged with corruption. It's like having a DVB-T antenna that's just not good enough, except this is DVB-C and my signal is excellent. Attenuators didn't help.
Card=88 (C3 Tech Digital Duo HDTV/SDTV USB): doesn't work, no /dev/dvb adapter

So with card=79 it's really close to working. What else can I do?

Quoted 8 lines

Best regareds,

P. van Gaans
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html

Hi all,

Success!

While I never succeeded in figuring out how the sniffing is supposed to be done (how to get any output from those scripts anyway? how to load the debug module in such away it actually works? run on native linux, or a windows VM on linux, or snoop in windows en run the script on linux? you get the picture) I just noticed a little notice on the DVB-C USB wiki page:

"If you are experiencing problems with USB devices, it may not be the fault of the tuner. For example AMD 700 series chipsets (e.g. 780G) have a problem with USB ports which results in tuners working or partially working or not working at all."

I was actually not even testing on an AMD 700 series but on an AMD 600 series. And a somewhat older kernel, with latest v4l-dvb compiled.

So here's what I did: I took the Digivox Trio, plugged it in an Ivy Bridgy computer with Lubuntu 13.04 (stock kernel, stock v4l-dvb, Lubuntu appears to come with the firmware preloaded), load the em28xx driver as if the Digivox were a Terratec H5 and watched 5 minutes or so, flawless.

I will continue to test and watch some longer programs, but right now it appears it is safe to say the Digivox Trio can be supported by simply treating as an H5.

Best regards,

P. van Gaans

#5 lore raw
Quoted 66 lines · P. van Gaans
Quoted 28 lines · P. van Gaans

Hi all,

(device: http://linuxtv.org/wiki/index.php/MSI_DigiVox_Trio)

Thanks to the message from Philip Pemberton I was able to try loading the em28xx driver myself using:

sudo modprobe em28xx card=NUMBER
echo eb1a 2885 | sudo tee /sys/bus/usb/drivers/em28xx/new_id

Here are the results for NUMBER:

Card=79 (Terratec Cinergy H5): works, less corruption than card=87, just some blocks every few seconds. Attenuators didn't help. Card=81 (Hauppauge WinTV HVR 930C): doesn't work, no /dev/dvb adapter Card=82 (Terratec Cinergy HTC Stick): similar to card=87 Card=85 (PCTV QuatroStick (510e)): constantly producing i2c read errors, doesn't work
Card=86 (PCTV QuatroStick nano (520e): same
Card=87 (Terratec Cinergy HTC USB XS): stick works and scans channels, but reception is bugged with corruption. It's like having a DVB-T antenna that's just not good enough, except this is DVB-C and my signal is excellent. Attenuators didn't help.
Card=88 (C3 Tech Digital Duo HDTV/SDTV USB): doesn't work, no /dev/dvb adapter

So with card=79 it's really close to working. What else can I do?

Quoted 8 lines

Best regareds,

P. van Gaans
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html

Hi all,

Success!

While I never succeeded in figuring out how the sniffing is supposed to be done (how to get any output from those scripts anyway? how to load the debug module in such away it actually works? run on native linux, or a windows VM on linux, or snoop in windows en run the script on linux? you get the picture) I just noticed a little notice on the DVB-C USB wiki page:

"If you are experiencing problems with USB devices, it may not be the fault of the tuner. For example AMD 700 series chipsets (e.g. 780G) have a problem with USB ports which results in tuners working or partially working or not working at all."

I was actually not even testing on an AMD 700 series but on an AMD 600 series. And a somewhat older kernel, with latest v4l-dvb compiled.

So here's what I did: I took the Digivox Trio, plugged it in an Ivy Bridgy computer with Lubuntu 13.04 (stock kernel, stock v4l-dvb, Lubuntu appears to come with the firmware preloaded), load the em28xx driver as if the Digivox were a Terratec H5 and watched 5 minutes or so, flawless.

I will continue to test and watch some longer programs, but right now it appears it is safe to say the Digivox Trio can be supported by simply treating as an H5.

Quoted 8 lines

Best regards,

P. van Gaans
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html

It's been a while I've been using this setup and I haven't found any obvious flaws.

I've added this to my own linux/drivers/media/usb/em28xx/em28xx-cards.c:

	{ USB_DEVICE(0xeb1a, 0x2885),	/* MSI Digivox Trio */
			.driver_info = EM2884_BOARD_TERRATEC_H5 },

So it would load automatically. I've been using two of these with tvheadend.

So can this device be added? Any more info needed?

Best regards,

P. van Gaans