Skip to contentSkip to conversation

Mysterious USB device ID change on Hauppauge HVR-900 (em28xx)

DISCUSSION Frank Schäfer 3 participants 4 messages Nov 23, 2012 Media (V4L/DVB)

lore
Share & tools
lore
#0 lore raw

Hi,

I've got a Hauppauge HVR-900 (65008/A1C0) today. First, the device showed up as USB device 7640:edc1 (even after several unplug - replug cycles), so I decided to add this VID:PID to the em28xx driver to see what happens.
That worked fine, em2882/em2883, tuner xc2028/3028 etc. were detected properly.
Later I noticed, that the device now shows up as 2040:6500, which is the expected ID for this device.
Since then, the device maintains this ID. I also checked if Windows is involved, but it shows up with the same ID there.

Does anyone have an idea what could have happened ??? I wonder if we should add this ID to the em28xx driver...

Regards,
Frank

#1 lore raw
Quoted 13 lines · Frank Schäfer

Hi,

I've got a Hauppauge HVR-900 (65008/A1C0) today. First, the device showed up as USB device 7640:edc1 (even after several unplug - replug cycles), so I decided to add this VID:PID to the em28xx driver to see what happens.
That worked fine, em2882/em2883, tuner xc2028/3028 etc. were detected properly.
Later I noticed, that the device now shows up as 2040:6500, which is the expected ID for this device.
Since then, the device maintains this ID. I also checked if Windows is involved, but it shows up with the same ID there.

Quoted 2 lines

Does anyone have an idea what could have happened ??? I wonder if we should add this ID to the em28xx driver...

em28xx chip reads USB ID from the external eeprom using I2C just after it was powered. After USB ID is got it connects to the USB bus using that ID. If there is no external eeprom it uses chipset default USB ID, which is 0xeb1a as vendor ID and some other number defined for chip model as device ID. In that case those wrong IDs seems to be total garbage, which indicates there is some hardware problems when communicating towards eeprom.

That method is not only Empia USB interface chips but almost all chipset uses just similar method.

regard
Antti

Signature · 1 line
http://palosaari.fi/
#2 lore raw

Am 23.11.2012 18:20, schrieb Antti Palosaari:

Quoted 17 lines · Frank Schäfer
Quoted 13 lines

Hi,

I've got a Hauppauge HVR-900 (65008/A1C0) today. First, the device showed up as USB device 7640:edc1 (even after several unplug - replug cycles), so I decided to add this VID:PID to the em28xx driver to see what happens.
That worked fine, em2882/em2883, tuner xc2028/3028 etc. were detected properly.
Later I noticed, that the device now shows up as 2040:6500, which is the expected ID for this device.
Since then, the device maintains this ID. I also checked if Windows is involved, but it shows up with the same ID there.

Quoted 2 lines

Does anyone have an idea what could have happened ??? I wonder if we should add this ID to the em28xx driver...

Quoted 8 lines

em28xx chip reads USB ID from the external eeprom using I2C just after it was powered. After USB ID is got it connects to the USB bus using that ID. If there is no external eeprom it uses chipset default USB ID, which is 0xeb1a as vendor ID and some other number defined for chip model as device ID. In that case those wrong IDs seems to be total garbage, which indicates there is some hardware problems when communicating towards eeprom.

Yeah, hardware problems, sure... but I wonder why the USB ID was/is persistent ? Communication problems caused by circuit defect should lead to a rather random behavior...
On power loss, the everything except (ee)prom(s) contents should be reset to a default state.
And if the eeprom was corrupted, how could it magically recover ?
Also: the USB id is read from the eeprom even without a OS driver beeing involved, but the first usage of the driver seems to have "fixed" the ID...

Regards,
Frank

Quoted 7 lines

That method is not only Empia USB interface chips but almost all chipset uses just similar method.

regard
Antti

#3 lore raw
In reply to Frank Schäfer

Em Fri, 23 Nov 2012 18:01:14 +0100
Frank Schäfer <[email protected]> escreveu:

Quoted 12 lines

Hi,

I've got a Hauppauge HVR-900 (65008/A1C0) today. First, the device showed up as USB device 7640:edc1 (even after several unplug - replug cycles), so I decided to add this VID:PID to the em28xx driver to see what happens.
That worked fine, em2882/em2883, tuner xc2028/3028 etc. were detected properly.
Later I noticed, that the device now shows up as 2040:6500, which is the expected ID for this device.
Since then, the device maintains this ID. I also checked if Windows is involved, but it shows up with the same ID there.

This is a known hardware bug on some HVR devices. I have this problem with one based on tm6000: sometimes, it is not able to read from the EEPROM. When this happens, it gets the manufacturer's default USB ID.

You may force it to use the right em28xx entry using "card=" modprobe parameter.

Signature · 2 lines
Regards,
Mauro