-
Notifications
You must be signed in to change notification settings - Fork 0
A (semi) dangerous utility to decode and (eventually) modify EEPROMs in Hauppauge em28xx devices
License
b-rad-NDi/eeprom-tinker
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
EEPROM Tinker by Brad Love (b-rad) A utility to allow converting various Hauppauge em28xx based devices from USB Isochronous transport mode to bulk transport mode. This dramatically reduces system load, by dramatically increasing the amount of bytes transferred in every USB URB. This is highly beneficial AND/OR required for a variety of embedded platforms (like RPi). This also works around very high bandwidth streams which are too high for ISOC transfers to keep up with. When the bandwidth is too high for ISOC you will experience loss of transport stream packets, leading to corrupted video, due to continuity errors and missing data. This utility should not be dangerous to use, AS LONG AS YOU USE IT SAFELY! ========================================= EEPROM Tinker Welcome to the danger zone Be careful, this utility can harm your system if misused! eeprom-tinker options -d device detection -i print device info -v verbose -t test mode, only output equivalent modification operation -b set i2c bus number (dangerous! be sure this is correct!) -m {pid|bulk|both} fix product id, fix bulk flag, or fix both -h display help =============================================================================== =============================================================================== To compile: $ sudo apt-get install libi2c-dev $ make Note: you require libi2c-dev >= 4.0 - This means Ubuntu Xenial LTS is incompatible, Bionic+ is ok If make reports you are missing i2c/smbus.h your library is too old. =============================================================================== =============================================================================== To use this dangerous utility follow these steps: NOTE: you will require to run these commands via sudo =============================================================================== =============================================================================== Detection of compatible devices: $ eeprom-tinker -d EEPROM Tinker Welcome to the danger zone Be careful, this utility can harm your system if misused! ========================================= Found 2013:0461 - PCTV 461e (3103B) Root i2c bus: i2c-14 <--- use Child bus: i2c-15 ========================================= 1 em28xx devices found ========================================= =============================================================================== =============================================================================== Information about detected device: $ eeprom-tinker -i -b 14 EEPROM Tinker Welcome to the danger zone Be careful, this utility can harm your system if misused! Found tag 0x04 (serial) Found tag 0x06 (model/revision) vid:pid 2013:0461 Board Config: 00 (isoc) serial: d6 42 01 model: 00 03 0d 40 ( 200000 ) revision: 89 8a 19 Found: isoc mode PCTV 461e (3103B) ( 200000 ) Conversion to bulk mode possible: yes Convert device to new PID? OK as is =============================================================================== =============================================================================== Conversion of a compatible device: $ eeprom-tinker -t -b 14 -m bulk EEPROM Tinker Welcome to the danger zone Be careful, this utility can harm your system if misused! Found tag 0x04 (serial) Found tag 0x06 (model/revision) Found: isoc mode PCTV 461e (3103B) ( 200000 ) Conversion to bulk mode possible: yes Convert device to new PID? OK as is ############################################ Update board config to bulk mode Equivalent operation for manual conversion: i2cset -y 14 0x50 0x00 0xa7 0x04 i ############################################ Only execute the above commands if you are absolutely confident =============================================================================== =============================================================================== FINALLY This utility *can* do the modification for you, but this is currently disabled in the source code. Instead it prints out the explicit operation required to do the conversion yourself. For the device being operated on in this README, the following command will convert the 461e from ISOC to bulk mode: $ sudo i2cset -y 14 0x50 0x00 0xa7 0x04 i DO NOT JUST EXECUTE THE ABOVE LINE WITHOUT VERIFYING IT'S CORRECTNESS USING ALL OF THE PREVIOUS STEPS!!!! =============================================================================== =============================================================================== Once the i2cset operation has been executed, wait a few seconds (for your sanity), then you can unplug and reconnect the device. You can then dump device info, with this utility or dmesg to verify the device is now in bulk mode: $ eeprom-tinker -i -b 14 EEPROM Tinker Welcome to the danger zone Be careful, this utility can harm your system if misused! Found tag 0x04 (serial) Found tag 0x06 (model/revision) vid:pid 2013:0461 Board Config: 04 (bulk) serial: d6 42 01 model: 00 03 0d 40 ( 200000 ) revision: 89 8a 19 Found: isoc mode PCTV 461e (3103B) ( 200000 ) Conversion to bulk mode possible: yes Convert device to new PID? OK as is Device PCTV 461e (3103B) has already been converted to bulk mode ========================================= $ dmesg | egrep -i '461|bulk' [70053.597329] usb 3-1: New USB device found, idVendor=2013, idProduct=0461, bcdDevice= 1.00 [70053.597337] usb 3-1: Product: PCTV 461 [70053.598730] em28xx 3-1:1.0: New device PCTV PCTV 461 @ 480 Mbps (2013:0461, interface 0, class 0) [70053.598734] em28xx 3-1:1.0: DVB interface 0 found: bulk [70054.108045] em28xx 3-1:1.0: Identified as PCTV DVB-S2 Stick (461e v2) (card=104) [70054.108051] em28xx 3-1:1.0: dvb set to bulk mode. Did it work? It better have :-D =============================================================================== =============================================================================== USE AT YOUR OWN RISK!!!! USE AT YOUR OWN RISK!!!! USE AT YOUR OWN RISK!!!! USE AT YOUR OWN RISK!!!! USE AT YOUR OWN RISK!!!! =============================================================================== ===============================================================================
About
A (semi) dangerous utility to decode and (eventually) modify EEPROMs in Hauppauge em28xx devices
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published