it913x add support for IT9135 9006 devices
PATCH 1/1 it913x add support for IT9135 9006 devices
Support for IT1935 9006 devices.
9006 have version 2 type chip.
9006 devices should use dvb-usb-it9135-02.fw firmware.
On the device tested the tuner id was set to 0 which meant the driver used tuner id 0x38. The device functioned normally.
--- drivers/media/dvb/dvb-usb/dvb-usb-ids.h | 1 + drivers/media/dvb/dvb-usb/it913x.c | 17 +++++++++++++++-- 2 files changed, 16 insertions(+), 2 deletions(-)
drivers/media/dvb/dvb-usb/dvb-usb-ids.h +1 -0
@@ -132,6 +132,7 @@#define USB_PID_INTEL_CE9500 0x9500#define USB_PID_ITETECH_IT9135 0x9135#define USB_PID_ITETECH_IT9135_9005 0x9005 +#define USB_PID_ITETECH_IT9135_9006 0x9006#define USB_PID_KWORLD_399U 0xe399#define USB_PID_KWORLD_399U_2 0xe400#define USB_PID_KWORLD_395U 0xe396
drivers/media/dvb/dvb-usb/it913x.c +15 -2
@@ -387,6 +387,7 @@ static int it913x_rc_query(struct dvb_usb_device *d)/* Firmware sets raw */ const char fw_it9135_v1[] ="dvb-usb-it9135-01.fw" ; +const char fw_it9135_v2[] ="dvb-usb-it9135-02.fw" ;const char fw_it9137[] ="dvb-usb-it9137-01.fw" ; static int ite_firmware_select(struct usb_device *udev,
@@ -400,6 +401,9 @@ static int ite_firmware_select(struct usb_device *udev,else if (le16_to_cpu (udev->descriptor.idProduct) ==USB_PID_ITETECH_IT9135_9005 ) sw =IT9135_V1_FW ; +else if (le16_to_cpu (udev->descriptor.idProduct) == +USB_PID_ITETECH_IT9135_9006 ) + sw =IT9135_V2_FW ;else sw =IT9137_FW ;
@@ -413,6 +417,11 @@ static int ite_firmware_select(struct usb_device *udev, it913x_config.adc_x2 =1 ; props->firmware = fw_it9135_v1;break ; +case IT9135_V2_FW : + it913x_config.firmware_ver =1 ; + it913x_config.adc_x2 =1 ; + props->firmware = fw_it9135_v2; +break ;case IT9137_FW :default : it913x_config.firmware_ver =0 ;
@@ -701,6 +710,7 @@ static struct usb_device_id it913x_table[] = { { USB_DEVICE(USB_VID_ITETECH, USB_PID_ITETECH_IT9135) }, { USB_DEVICE(USB_VID_KWORLD_2, USB_PID_SVEON_STV22_IT9137) }, { USB_DEVICE(USB_VID_ITETECH, USB_PID_ITETECH_IT9135_9005) }, + { USB_DEVICE(USB_VID_ITETECH, USB_PID_ITETECH_IT9135_9006) }, {} /* Terminating entry */ };
@@ -776,7 +786,7 @@ static struct dvb_usb_device_properties it913x_properties = { .rc_codes = RC_MAP_MSI_DIGIVOX_III, }, .i2c_algo = &it913x_i2c_algo, - .num_device_descs = 4, + .num_device_descs = 5, .devices = { {"Kworld UB499-2T T09(IT9137)" , { &it913x_table[0], NULL },
@@ -790,6 +800,9 @@ static struct dvb_usb_device_properties it913x_properties = { {"ITE 9135(9005) Generic" , { &it913x_table[3], NULL }, }, + { "ITE 9135(9006) Generic", + { &it913x_table[4], NULL }, + }, } };
@@ -823,5 +836,5 @@ module_exit(it913x_module_exit);MODULE_AUTHOR ("Malcolm Priestley <[email protected]>" );MODULE_DESCRIPTION ("it913x USB 2 Driver" ); -MODULE_VERSION ("1.14" ); +MODULE_VERSION ("1.17" );MODULE_LICENSE ("GPL" );
Signature · 1 line
1.7.7.3
Quoted 10 lines · Malcolm Priestley <tvboxspy <at> gmail.com> writes:
Support for IT1935 9006 devices.
9006 have version 2 type chip.
9006 devices should use dvb-usb-it9135-02.fw firmware.
On the device tested the tuner id was set to 0 which meant the driver used tuner id
0x38. The device functioned normally.
Hello,
my device (048d:9006) isn't fully working, here is dmesg log:
[code]
[ 281.724044] usb 1-3: new high-speed USB device number 10 using ehci_hcd [ 281.860585] usb 1-3: New USB device found, idVendor=048d, idProduct=9006 [ 281.860594] usb 1-3: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [ 281.860601] usb 1-3: Product: DVB-T TV Stick [ 281.860607] usb 1-3: Manufacturer: ITE Technologies, Inc. [ 281.861694] it913x: Chip Version=02 Chip Type=9135 [ 281.863193] it913x: Dual mode=0 Remote=1 Tuner Type=0 [ 281.864444] dvb-usb: found a 'ITE 9135(9006) Generic' in cold state, will try to load a firmware [ 281.870053] dvb-usb: downloading firmware from file 'dvb-usb-it9135-02.fw' [ 281.870438] it913x: FRM Starting Firmware Download [ 282.388032] it913x: FRM Firmware Download Failed (ffffffff) [ 282.588116] it913x: Chip Version=79 Chip Type=4af3 [ 283.224203] it913x: DEV it913x Error [ 283.227753] input: ITE Technologies, Inc. DVB-T TV Stick as /devices/pci0000:00/0000:00:1d.7/usb1/1-3/1-3:1.1/input/input17 [ 283.228415] generic-usb 0003:048D:9006.0007: input,hidraw0: USB HID v1.01
Keyboard [ITE Technologies, Inc. DVB-T TV Stick] on usb-0000:00:1d.7-3/input1
or
[ 292.444049] usb 1-3: new high-speed USB device number 11 using ehci_hcd [ 292.580449] usb 1-3: New USB device found, idVendor=048d, idProduct=9006 [ 292.580458] usb 1-3: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [ 292.580465] usb 1-3: Product: DVB-T TV Stick [ 292.580471] usb 1-3: Manufacturer: ITE Technologies, Inc. [ 292.581557] it913x: Chip Version=02 Chip Type=9135 [ 292.583051] it913x: Dual mode=0 Remote=1 Tuner Type=0 [ 292.584284] dvb-usb: found a 'ITE 9135(9006) Generic' in cold state, will try to load a firmware [ 292.589938] dvb-usb: downloading firmware from file 'dvb-usb-it9135-02.fw' [ 292.590302] it913x: FRM Starting Firmware Download [ 292.908023] it913x: FRM Firmware Download Completed - Resetting Device [ 292.908534] it913x: Chip Version=02 Chip Type=9135 [ 292.909032] it913x: Firmware Version 52887808 [ 293.144182] it913x: DEV it913x Error [ 293.147862] input: ITE Technologies, Inc. DVB-T TV Stick as /devices/pci0000:00/0000:00:1d.7/usb1/1-3/1-3:1.1/input/input18 [ 293.152345] generic-usb 0003:048D:9006.0008: input,hidraw0: USB HID v1.01
Keyboard [ITE Technologies, Inc. DVB-T TV Stick] on usb-0000:00:1d.7-3/input1 [/code]
I'm using this device: http://www.runteck.com/products_view.php?Id=24&S_Id=2
Quoted 18 lines · Adeq
Quoted 10 lines · Malcolm Priestley <tvboxspy <at> gmail.com> writes:
Support for IT1935 9006 devices.
9006 have version 2 type chip.
9006 devices should use dvb-usb-it9135-02.fw firmware.
On the device tested the tuner id was set to 0 which meant the driver used tuner id
0x38. The device functioned normally.Hello,
my device (048d:9006) isn't fully working, here is dmesg log:
[code]
Quoted 15 lines
[ 281.724044] usb 1-3: new high-speed USB device number 10 using ehci_hcd [ 281.860585] usb 1-3: New USB device found, idVendor=048d, idProduct=9006 [ 281.860594] usb 1-3: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [ 281.860601] usb 1-3: Product: DVB-T TV Stick [ 281.860607] usb 1-3: Manufacturer: ITE Technologies, Inc. [ 281.861694] it913x: Chip Version=02 Chip Type=9135 [ 281.863193] it913x: Dual mode=0 Remote=1 Tuner Type=0 [ 281.864444] dvb-usb: found a 'ITE 9135(9006) Generic' in cold state, will try to load a firmware [ 281.870053] dvb-usb: downloading firmware from file 'dvb-usb-it9135-02.fw' [ 281.870438] it913x: FRM Starting Firmware Download [ 282.388032] it913x: FRM Firmware Download Failed (ffffffff) [ 282.588116] it913x: Chip Version=79 Chip Type=4af3 [ 283.224203] it913x: DEV it913x Error [ 283.227753] input: ITE Technologies, Inc. DVB-T TV Stick as
Try using the following for firmware.
dd if=dvb-usb-it9135.fw ibs=1 skip=64 count=8128 of=dvb-usb-it9135-01.fw dd if=dvb-usb-it9135.fw ibs=1 skip=12866 count=5731 of=dvb-usb-it9135-02.fw
I have got length of dvb-usb-it9135-02.fw wrong it was changed to 5731.
However, 5817 should be correct in emulation, but fails with device.
The firmware version should say it913x: Firmware Version 50594048
I will have to check the firmware loader again.
Regards
Malcolm
W dniu 2011-12-14 07:13, Adeq pisze:
Quoted 58 lines
Quoted 9 lines · Malcolm Priestley<tvboxspy<at> gmail.com> writes:
Support for IT1935 9006 devices.
9006 have version 2 type chip.
9006 devices should use dvb-usb-it9135-02.fw firmware.
On the device tested the tuner id was set to 0 which meant the driver used tuner id
0x38. The device functioned normally.Hello,
my device (048d:9006) isn't fully working, here is dmesg log:
[code]
[ 281.724044] usb 1-3: new high-speed USB device number 10 using ehci_hcd [ 281.860585] usb 1-3: New USB device found, idVendor=048d, idProduct=9006 [ 281.860594] usb 1-3: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [ 281.860601] usb 1-3: Product: DVB-T TV Stick [ 281.860607] usb 1-3: Manufacturer: ITE Technologies, Inc. [ 281.861694] it913x: Chip Version=02 Chip Type=9135 [ 281.863193] it913x: Dual mode=0 Remote=1 Tuner Type=0 [ 281.864444] dvb-usb: found a 'ITE 9135(9006) Generic' in cold state, will try to load a firmware [ 281.870053] dvb-usb: downloading firmware from file 'dvb-usb-it9135-02.fw' [ 281.870438] it913x: FRM Starting Firmware Download [ 282.388032] it913x: FRM Firmware Download Failed (ffffffff) [ 282.588116] it913x: Chip Version=79 Chip Type=4af3 [ 283.224203] it913x: DEV it913x Error [ 283.227753] input: ITE Technologies, Inc. DVB-T TV Stick as /devices/pci0000:00/0000:00:1d.7/usb1/1-3/1-3:1.1/input/input17 [ 283.228415] generic-usb 0003:048D:9006.0007: input,hidraw0: USB HID v1.01Keyboard [ITE Technologies, Inc. DVB-T TV Stick] on usb-0000:00:1d.7-3/input1
or
[ 292.444049] usb 1-3: new high-speed USB device number 11 using ehci_hcd [ 292.580449] usb 1-3: New USB device found, idVendor=048d, idProduct=9006 [ 292.580458] usb 1-3: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [ 292.580465] usb 1-3: Product: DVB-T TV Stick [ 292.580471] usb 1-3: Manufacturer: ITE Technologies, Inc. [ 292.581557] it913x: Chip Version=02 Chip Type=9135 [ 292.583051] it913x: Dual mode=0 Remote=1 Tuner Type=0 [ 292.584284] dvb-usb: found a 'ITE 9135(9006) Generic' in cold state, will try to load a firmware [ 292.589938] dvb-usb: downloading firmware from file 'dvb-usb-it9135-02.fw' [ 292.590302] it913x: FRM Starting Firmware Download [ 292.908023] it913x: FRM Firmware Download Completed - Resetting Device [ 292.908534] it913x: Chip Version=02 Chip Type=9135 [ 292.909032] it913x: Firmware Version 52887808 [ 293.144182] it913x: DEV it913x Error [ 293.147862] input: ITE Technologies, Inc. DVB-T TV Stick as /devices/pci0000:00/0000:00:1d.7/usb1/1-3/1-3:1.1/input/input18 [ 293.152345] generic-usb 0003:048D:9006.0008: input,hidraw0: USB HID v1.01Keyboard [ITE Technologies, Inc. DVB-T TV Stick] on usb-0000:00:1d.7-3/input1 [/code]
Quoted 9 lines
I'm using this device: http://www.runteck.com/products_view.php?Id=24&S_Id=2
--
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
After updating firmware.
warmboot:
[ 984.370447] dvb-usb: ITE 9135(9006) Generic successfully deinitialized and disconnected. [ 1000.884812] it913x: Chip Version=02 Chip Type=9135 [ 1000.885309] it913x: Firmware Version 52887808 [ 1000.886808] it913x: Dual mode=0 Remote=1 Tuner Type=0 [ 1000.886814] dvb-usb: found a 'ITE 9135(9006) Generic' in warm state. [ 1000.887540] dvb-usb: will use the device's hardware PID filter (table count: 31). [ 1000.887857] DVB: registering new adapter (ITE 9135(9006) Generic) [ 1000.891586] it913x-fe: ADF table value :00 [ 1000.891596] it913x: Message out (0000d8b401313938) [ 1000.892197] it913x: Message out (0000d8b50100d8b4) [ 1000.892685] it913x: Message out (0000d8b30100d8b5) [ 1000.893185] it913x: Message out (0000f6413800d8b3) [ 1000.893560] it913x: Message out (0000f5ca0100f641) [ 1001.092205] it913x: Message out (0000f7150100f5ca) [ 1001.292097] it913x: Message out (0000002500006000) [ 1001.492099] it913x: Message out (0000f1cd0000a200) [ 1001.692107] it913x: Message out (0000004501dc4cf5) [ 1001.892111] it913x: Message out (0000002900000000) [ 1002.092113] it913x-fe: Crystal Frequency :12000000 Adc Frequency :20250000 ADC X2: 01 [ 1002.092141] dvb-usb: no frontend was attached by 'ITE 9135(9006) Generic' [ 1002.092159] Registered IR keymap rc-msi-digivox-iii [ 1002.092392] input: IR-receiver inside an USB DVB receiver as /devices/pci0000:00/0000:00:1d.7/usb1/1-3/rc/rc1/input15 [ 1002.095747] rc1: IR-receiver inside an USB DVB receiver as /devices/pci0000:00/0000:00:1d.7/usb1/1-3/rc/rc1 [ 1002.095757] dvb-usb: schedule remote query interval to 250 msecs. [ 1002.095765] dvb-usb: ITE 9135(9006) Generic successfully initialized and connected. [ 1002.095770] it913x: DEV registering device driver [ 1002.095826] usbcore: registered new interface driver it913x
coldboot:
[ 1103.536156] it913x: Chip Version=ec Chip Type=5830 [ 1104.336178] it913x: Dual mode=92 Remote=92 Tuner Type=92 [ 1106.248116] dvb-usb: found a 'ITE 9135(9006) Generic' in cold state, will try to load a firmware [ 1106.253773] dvb-usb: downloading firmware from file 'dvb-usb-it9135-02.fw' [ 1106.452123] it913x: FRM Starting Firmware Download [ 1130.756039] it913x: FRM Firmware Download Failed (ffffff92) [ 1130.956168] it913x: Chip Version=79 Chip Type=5823 [ 1131.592192] it913x: DEV it913x Error [ 1131.592271] usbcore: registered new interface driver it913x
No frontend is generated anyway.
Quoted 13 lines
[ 1103.536156] it913x: Chip Version=ec Chip Type=5830 [ 1104.336178] it913x: Dual mode=92 Remote=92 Tuner Type=92 [ 1106.248116] dvb-usb: found a 'ITE 9135(9006) Generic' in cold state, will try to load a firmware [ 1106.253773] dvb-usb: downloading firmware from file 'dvb-usb-it9135-02.fw' [ 1106.452123] it913x: FRM Starting Firmware Download [ 1130.756039] it913x: FRM Firmware Download Failed (ffffff92) [ 1130.956168] it913x: Chip Version=79 Chip Type=5823 [ 1131.592192] it913x: DEV it913x Error [ 1131.592271] usbcore: registered new interface driver it913x
Quoted 1 line
No frontend is generated anyway.
Looks like the the firmware is not at all compatible with your device.
Have you applied the patch cleanly to the latest media_build?
These appear to be new version of the 9006. A supplier is sending me one of these devices.
As a last resort see if the device works with dvb-usb-it9137-01.fw
You will have force to use this firmware
dvb-usb-it913x firmware=1
For the moment this patch cannot proceed until the firmware has been checked.
Regards
Malcolm
PATCH 1/1 it913x changed firmware loader for chip version 2 types
Quoted 18 lines · Malcolm Priestley
Quoted 12 lines
[ 1103.536156] it913x: Chip Version=ec Chip Type=5830 [ 1104.336178] it913x: Dual mode=92 Remote=92 Tuner Type=92 [ 1106.248116] dvb-usb: found a 'ITE 9135(9006) Generic' in cold state, will try to load a firmware [ 1106.253773] dvb-usb: downloading firmware from file 'dvb-usb-it9135-02.fw' [ 1106.452123] it913x: FRM Starting Firmware Download [ 1130.756039] it913x: FRM Firmware Download Failed (ffffff92) [ 1130.956168] it913x: Chip Version=79 Chip Type=5823 [ 1131.592192] it913x: DEV it913x Error [ 1131.592271] usbcore: registered new interface driver it913xQuoted 1 line
No frontend is generated anyway.
Looks like the the firmware is not at all compatible with your device.
Have you applied the patch cleanly to the latest
media_build?
Quoted 7 lines
These appear to be new version of the 9006. A supplier is sending me one of these devices.
As a last resort see if the device works with dvb-usb-it9137-01.fw
You will have force to use this firmware
dvb-usb-it913x firmware=1
Here is a modified firmware loader for version 2 types.
The firmware must be as in original
./dvb_get_firmware it9135
dd if=dvb-usb-it9135.fw ibs=1 skip=12866 count=5817 of=dvb-usb-it9135-02.fw
--- drivers/media/dvb/dvb-usb/it913x.c | 9 +++++++-- 1 files changed, 7 insertions(+), 2 deletions(-)
drivers/media/dvb/dvb-usb/it913x.c +7 -2
@@ -557,7 +557,7 @@ static int it913x_download_firmware(struct usb_device *udev, const struct firmware *fw) {int ret =0 , i =0 , pos =0 ; -u8 packet_size; +u8 packet_size, min_pkt;u8 *fw_data; ret =it913x_wr_reg (udev,DEV_0 ,I2C_CLK ,I2C_CLK_100 );
@@ -569,11 +569,16 @@ static int it913x_download_firmware(struct usb_device *udev,/* The firmware must start with 03 XX 00 */ /* and be the extact firmware length */ +if (it913x_config.chip_ver ==2 ) + min_pkt =0x11 ; +else + min_pkt =0x19 ; +while (i <= fw->size) {if (((fw->data[i] ==0x3 ) && (fw->data[i +2 ] ==0x0 )) || (i == fw->size)) { packet_size = i - pos; -if ((packet_size >0x19 ) || (i == fw->size)) { +if ((packet_size > min_pkt) || (i == fw->size)) { fw_data = (u8 *)(fw->data + pos); pos += packet_size;if (packet_size >0 )
Signature · 1 line
1.7.7.3
Re: [PATCH] it913x changed firmware loader for chip version 2 types
Quoted 27 lines · Malcolm Priestley
Quoted 18 lines · Malcolm Priestley
Quoted 12 lines
[ 1103.536156] it913x: Chip Version=ec Chip Type=5830 [ 1104.336178] it913x: Dual mode=92 Remote=92 Tuner Type=92 [ 1106.248116] dvb-usb: found a 'ITE 9135(9006) Generic' in cold state, will try to load a firmware [ 1106.253773] dvb-usb: downloading firmware from file 'dvb-usb-it9135-02.fw' [ 1106.452123] it913x: FRM Starting Firmware Download [ 1130.756039] it913x: FRM Firmware Download Failed (ffffff92) [ 1130.956168] it913x: Chip Version=79 Chip Type=5823 [ 1131.592192] it913x: DEV it913x Error [ 1131.592271] usbcore: registered new interface driver it913xQuoted 1 line
No frontend is generated anyway.
Looks like the the firmware is not at all compatible with your device.
Have you applied the patch cleanly to the latest
media_build?Quoted 7 lines
These appear to be new version of the 9006. A supplier is sending me one of these devices.
As a last resort see if the device works with dvb-usb-it9137-01.fw
You will have force to use this firmware
dvb-usb-it913x firmware=1
Quoted 9 lines
Here is a modified firmware loader for version 2 types.
The firmware must be as in original
./dvb_get_firmware it9135dd if=dvb-usb-it9135.fw ibs=1 skip=12866 count=5817 of=dvb-usb-it9135-02.fw
I have a 9006 version device.
Just to confirm that this patch and patch 8794 get this device working, along with dvb-usb-it9135-02.fw as described previously.
Firmware version should be: 52887808
Both can now be submitted to kernel.
Regards
Malcolm