Mysterious USB device ID change on Hauppauge HVR-900 (em28xx)
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
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/
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
0xeb1aas 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
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