|
Edited by tomaszd at 2016-4-7 03:53
Hi jernej, I'm having trouble with something that works perfectly fine in Armbian and doesn't in the latest OpenELEC fork I've compiled, which uses the same kernel, but different configuration.
I have a DVB-T tuner:
- 048d:9006 Integrated Technology Express, Inc. IT9135 BDA Afatech DVB-T HDTV Dongle
Copy code It works fine in Armbian after downloading correct firmware and not doing anything else, but it fails in OpenELEC:
1) OpenELEC loads the dvb-usb-af9035 module (which I can't even find anywhere, there's af9005, af9013, af9015, but not af9035...), which in turn doesn't register the DVB adapter frontend (device seems to be correctly loaded, but is invisible to all applications, "registering adapter 0 frontend 0 (Afatech AF9033 (DVB-T))..." is a lie) and some other errors occur.
Armbian loads the dvb-usb-it913x kernel module, not dvb-usb-af9035. Compare dmesg in Armbian:
- [ 447.566648] ehci_irq: highspeed device connect
- [ 447.840110] usb 4-1: new high-speed USB device number 3 using sunxi-ehci
- [ 447.997207] it913x: Chip Version=02 Chip Type=9135
- [ 447.999177] it913x: Remote HID mode NOT SUPPORTED
- [ 447.999679] it913x: Dual mode=0 Tuner Type=0
- [ 447.999700] it913x: Unknown tuner ID applying default 0x60
- [ 448.001075] dvb-usb: found a 'ITE 9135(9006) Generic' in cold state, will try to load a firmware
- [ 448.001356] dvb-usb: downloading firmware from file 'dvb-usb-it9135-02.fw'
- [ 448.001801] it913x: FRM Starting Firmware Download
- [ 448.231943] it913x: FRM Firmware Download Completed - Resetting Device
- [ 448.271446] it913x: Chip Version=02 Chip Type=9135
- [ 448.271930] it913x: Firmware Version 52953344
- [ 448.350607] dvb-usb: found a 'ITE 9135(9006) Generic' in warm state.
- [ 448.351414] dvb-usb: will use the device's hardware PID filter (table count: 31).
- [ 448.351893] DVB: registering new adapter (ITE 9135(9006) Generic)
- [ 448.353438] it913x-fe: ADF table value :00
- [ 448.357684] it913x-fe: Crystal Frequency :12000000 Adc Frequency :20250000 ADC X2: 01
- [ 448.393447] it913x-fe: Tuner LNA type :60
- [ 448.644963] DVB: registering adapter 0 frontend 0 (ITE 9135(9006) Generic_1)...
- [ 448.645545] dvb-usb: ITE 9135(9006) Generic successfully initialized and connected.
- [ 448.645572] it913x: DEV registering device driver
- [ 448.651938] generic-usb 0003:048D:9006.0007: input,hidraw0: USB HID v1.01 Keyboard [ITE Technologies, Inc. USB Deivce] on usb-sunxi-ehci-1/input1
Copy code with OpenELEC (when it works, because it doesn't always initialize):
- [ 278.010049] usb 3-1.1.2: new high-speed USB device number 13 using sunxi-ehci
- [ 278.125320] it913x: DEV it913x Error
- [ 278.127296] usb 3-1.1.2: dvb_usb_af9035: prechip_version=83 chip_version=02 chip_type=9135
- [ 278.127661] usb 3-1.1.2: dvb_usb_v2: found a 'ITE 9135(9006) Generic' in cold state
- [ 278.197356] usb 3-1.1.2: dvb_usb_v2: downloading firmware from file 'dvb-usb-it9135-02.fw'
- [ 278.297406] usb 3-1.1.2: dvb_usb_af9035: firmware version=3.40.1.0
- [ 278.297440] usb 3-1.1.2: dvb_usb_v2: found a 'ITE 9135(9006) Generic' in warm state
- [ 278.298895] usb 3-1.1.2: dvb_usb_af9035: [0] overriding tuner from 00 to 60
- [ 278.300725] usb 3-1.1.2: dvb_usb_v2: will pass the complete MPEG2 transport stream to the software demuxer
- [ 278.300790] DVB: registering new adapter (ITE 9135(9006) Generic)
- [ 278.307280] af9033 1-0038: firmware version: LINK 3.40.1.0 - OFDM 3.40.1.0
- [ 278.307298] af9033 1-0038: Afatech AF9033 successfully attached
- [ 278.307340] usb 3-1.1.2: DVB: registering adapter 0 frontend 0 (Afatech AF9033 (DVB-T))...
- [ 278.312042] it913x: probe of 1-001c failed with error -22
- [ 278.316963] generic-usb 0003:048D:9006.000A: input,hidraw0: USB HID v1.01 Keyboard [ITE Technologies, Inc. USB Deivce] on usb-sunxi-ehci-1.1.2/input1
Copy code It looks like it tries loading both modules at the same time, but even if I unload and/or blacklist dvb-usb-af9035, it913x still fails.
Important configuration differences between Armbian and your OpenELEC fork, your fork has:
- CONFIG_DVB_NET=y
- # CONFIG_DVB_DYNAMIC_MINORS is not set
Copy code Armbian:
- # CONFIG_DVB_NET is not set
- CONFIG_DVB_DYNAMIC_MINORS=y
Copy code While I can just swap these around before I try building your fork again, I don't know how to deal with the second issue:
2) OpenELEC comes with older firmware dvb-usb-it9135-02.fw (3.40.1.0), my tuner needs 3.6.0.0, which is available here:
- wget -c http://www.ite.com.tw/uploads/firmware/v3.6.0.0/dvb-usb-it9135.zip
- unzip dvb-usb-it9135.zip
- dd if=dvb-usb-it9135.fw ibs=1 skip=12866 count=5817 of=dvb-usb-it9135-02.fw
Copy code How do I swap the firmware before the image gets built? |
|