info pro pripadne zajemce jak to resit jeste jinak nez vymenou USB VID a PID v INFu BDA ovladacu
http://blog.philpem.me.uk/?p=134
Kód:
HOWTO: Fix the USB VID/PID on a Freecom DVB stick
April 24th, 2007 | Category: Computers, Repair Tips
A power cut scrambled the USB IDs on my Freecom DVB-T stick this morning… Freecom didn’t want to reply, the supplier just didn’t want to know (”your warranty is with Freecom, not us” - so much for the Sale of Goods Act). Anyway, here’s what I did to fix the VID/PID block on my DVB stick:
Note: this applies to the Freecom 25345-rev.3 DVB stick and may or may not work on others (e.g. the other Wideview WT220U clones with Cypress USB chipsets). Feel free to try this out, but if you bugger up your DVB stick beyond repair, you agree not to hold me liable for your cock-up. But of course, if your DVB stick is fried, you don’t exactly have anything to lose, do you? :)
OK, first you need the USB vendor and product ID your USB stick has adopted. Boot off a Linux LiveCD with the DVB stick plugged in by itself - that means NO OTHER USB DEVICES. Then as root run the command: cat /proc/bus/usb/devices Ignore all the crap about USB host adapters - what you’re looking for is a line like this: P: Vendor=1402 ProdID=0255 Rev= 0.00So we know the DVB stick has adopted the Vendor ID (VID) 0×1402, and the Product ID (PID) 0×0255. Shut down and reboot into Windows.
Rebooted yet? Good. Grab yourself a copy of the Cypress “CY4604 - USB Developer’s uStudio” and install it.
Now we need to do something a little fiddly. Go into C:\Program Files\Cypress\USB DevStudio\Driver, and open CyUSB.inf in Notepad. Search for this: [Cypress] ;%VID_VVVV&PID_PPPP.DeviceDesc%=CyUsb, USB\VID_VVVV&PID_PPPP Note that the USB VID/PID spec line is commented out with a leading semicolon. Remove that semicolon, then do a search-and-replace over the entire file - replace VVVV with the USB vendor ID (without the 0x radix specifier) and PPPP with the Product ID you found earlier (again without the radix specifier). Save the file and close Notepad.
Now plug the DVB stick in. When windows asks for drivers, point it to C:\Program Files\Cypress\USB DevStudio\Driver - the Cypress driver will install.
Run Cypress CyConsole (Start, Programs, Cypress, USB, CyConsole). You should see the DVB stick in the device list. Select the device from the list, then go to Options -> EZ-USB Interface.
Click the “Select Mon” button, then select C:\Program Files\Cypress\USB DevStudio\CyConsole\FW\Vend_Ax.hex (this is the Cypress EEPROM Bootloader). Click the “Load Mon” button to load the bootloader, and wait for the text to stop scrolling.
In the “Vendor Request” panel (with the “Vend Req” button on the left of it), enter the following values, in this order: Req: 0xA2 Value: 0×0000 Index: 0×0000 Dir: 1 IN Hexbytes: (empty) Length: 256
Press the Clear button, then the Vend Req button. Copy and paste the contents of the log display into a text file.
Now look at the first line of the data that was returned, in my case this was: 0000 C0 02 14 25 02 00 00 08 FF FF FF FF FF FF FF FF
The first byte (C0) is the Boot Specifier - this tells the EZ-USB chip that the data in the EEPROM is a vendor/product ID pair.
The two bytes after that are the Vendor ID in low-byte/high-byte (little endian) order. The two bytes after those are the Product ID, again in little endian byte order. We need to fix these. I want my stick’s VID to be 0×14AA, and its PID to be 0×0225. That means I need to write the following data to the EEPROM: C0 AA 14 25 02
Hit the Clear button again, and focus your attention on the Vendor Request panel once more. This time set these values: Req: 0xA2 Value: 0×0000 Index: 0×0000 Dir: 0 OUT Hexbytes: The data you want to write - in my case, C0 AA 14 25 02 Length: Should be 5, otherwise you’ve done something wrong.
Hit Vend Req again. Another line of text will appear at the end of the log - that’s the data that was sent to the bootloader.
Now set Dir to “1 IN” and clear the Hexbytes field. Set Length to 16 and hit the Vend Req button again. Another line will appear under the ‘data written’ line - it should look a bit like this now: 0000 C0 02 14 25 02 0000 C0 02 14 25 02 00 00 08 FF FF FF FF FF FF FF FF As long as the first five bytes of the data are correct, you’re done. Unplug the USB stick, wait a few seconds for it to reset, then plug it back in again. Your USB DVB-T stick should now know what it is, and more importantly the drivers will recognise it again.
a funguje to - v podstate je potreba pro zarizeni se spatnym VID/PID nainstalovat CyUSB.sys driver z baliku utilit pro nahravani FW Cypressu (odkaz na strance). V adresari Driver se upravi .inf soubor podle zjisteneho PID/VID (nemusi se zjistovat v Linuxu - WinXP+ maji v device manageru zalozku na ktere je PID/VID napsano, pokud v linuxu - tak proc cist /proc/bus/usb/devices, kdyz existuje prikaz lsusb). A pak uz jen staci podle navodu vybrat a nahrat do zarizeni soubor s FW Vend_Ax.hex. Pomoci ovladaciho panelu EZ-USB lze poslat prikazy (viz navod) na precteni a zapis EEPROM (me to zustalo jen 00 AA 14 00 00 00 00 ....). Zarizeni je opet rozpoznano v linuxu jako WT-220U (i kdyz je to board v.225) cold state a po nahrani FW ma 14AA/0226.