ASUS U3100 Mini Plus installation fail

0

Bit of an issue with the ASUS U3100 Mini Plus (https://www.linuxtv.org/wiki/index.php/Asus_U3100_Mini_plus_DVB-T) under Mint Serena...

Here are the details. Mint version:

# cat /etc/issue
Linux Mint 18.1 Serena \n \l

#     

Device:

# lsusb |grep 1779
Bus 003 Device 006: ID 0b05:1779 ASUSTek Computer, Inc. My Cinema U3100 Mini Plus [AF9035A]
#

So I've installed the firmware (https://raw.githubusercontent.com/OpenELEC/dvb-firmware/master/firmware/dvb-usb-af9035-02.fw), did the quirks thing as it was claimed by USBHID (actually needed to add quirks as boot option as adding options to /etc/modprobe.d/usbhid.conf did not work...):

# grep usbhid /boot/grub/grub.cfg
            linux   /boot/vmlinuz-4.4.0-104-generic root=UUID=400236d1-d186-4a9c-87db-cc987268f0ce ro  quiet splash $vt_handoff usbhid.quirks=0x0b05:0x1779:0x0004
# 

Here is output from dmesg:

[  545.461223] usb 3-1: USB disconnect, device number 4
[  548.760559] usb 3-1: new high-speed USB device number 5 using xhci_hcd
[  548.895088] usb 3-1: New USB device found, idVendor=0b05, idProduct=1779
[  548.895095] usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[  548.895099] usb 3-1: Product: AF9035A USB Device
[  548.895102] usb 3-1: Manufacturer: Afa Technologies Inc.
[  548.895104] usb 3-1: SerialNumber: CT<snip>
[  548.897724] usb 3-1: dvb_usb_af9035: prechip_version=00 chip_version=03 chip_type=3802
[  548.898102] usb 3-1: dvb_usb_v2: found a 'Asus U3100Mini Plus' in cold state
[  548.898164] usb 3-1: dvb_usb_v2: downloading firmware from file 'dvb-usb-af9035-02.fw'
[  549.216441] usb 3-1: dvb_usb_af9035: firmware version=12.13.15.0
[  549.216502] usb 3-1: dvb_usb_v2: found a 'Asus U3100Mini Plus' in warm state
[  549.218555] usb 3-1: dvb_usb_v2: will pass the complete MPEG2 transport stream to the software demuxer
[  549.218597] DVB: registering new adapter (Asus U3100Mini Plus)
[  549.222573] af9033 9-0038: firmware version: LINK 12.13.15.0 - OFDM 6.20.15.0
[  549.226316] af9033 9-0038: Afatech AF9033 successfully attached
[  549.226337] usb 3-1: DVB: registering adapter 0 frontend 0 (Afatech AF9033 (DVB-T))...

Udev does something with it, but I'm not sure what's happening here:

# udevadm monitor
monitor will print the received events for:
UDEV - the event which udev sends out after rule processing
KERNEL - the kernel uevent

KERNEL[1272.746489] add      /devices/pci0000:00/0000:00:14.0/usb3/3-1 (usb)
KERNEL[1272.746886] add      /devices/pci0000:00/0000:00:14.0/usb3/3-1/3-1:1.0 (usb)
KERNEL[1273.053256] add      /devices/pci0000:00/0000:00:14.0/usb3/3-1/i2c-9/i2c-dev/i2c-9 (i2c-dev)
KERNEL[1273.053317] add      /devices/pci0000:00/0000:00:14.0/usb3/3-1/i2c-9 (i2c)
KERNEL[1273.053716] add      /devices/pci0000:00/0000:00:14.0/usb3/3-1/dvb/dvb0.demux0 (dvb)
KERNEL[1273.053804] add      /devices/pci0000:00/0000:00:14.0/usb3/3-1/dvb/dvb0.dvr0 (dvb)
KERNEL[1273.053878] add      /devices/pci0000:00/0000:00:14.0/usb3/3-1/dvb/dvb0.net0 (dvb)
KERNEL[1273.056249] add      /devices/pci0000:00/0000:00:14.0/usb3/3-1/i2c-9/9-0038 (i2c)
KERNEL[1273.061292] add      /devices/pci0000:00/0000:00:14.0/usb3/3-1/dvb/dvb0.frontend0 (dvb)
KERNEL[1273.083326] add      /devices/pci0000:00/0000:00:14.0/usb3/3-1/i2c-9/9-0056 (i2c)
KERNEL[1273.084289] remove   /devices/pci0000:00/0000:00:14.0/usb3/3-1/dvb/dvb0.frontend0 (dvb)
KERNEL[1273.084349] remove   /devices/pci0000:00/0000:00:14.0/usb3/3-1/dvb/dvb0.net0 (dvb)
KERNEL[1273.084379] remove   /devices/pci0000:00/0000:00:14.0/usb3/3-1/dvb/dvb0.demux0 (dvb)
KERNEL[1273.084416] remove   /devices/pci0000:00/0000:00:14.0/usb3/3-1/dvb/dvb0.dvr0 (dvb)
KERNEL[1273.084493] remove   /devices/pci0000:00/0000:00:14.0/usb3/3-1/i2c-9/9-0038 (i2c)
KERNEL[1273.084516] remove   /devices/pci0000:00/0000:00:14.0/usb3/3-1/i2c-9/9-0056 (i2c)
KERNEL[1273.084585] remove   /devices/pci0000:00/0000:00:14.0/usb3/3-1/i2c-9/i2c-dev/i2c-9 (i2c-dev)
KERNEL[1273.084603] remove   /devices/pci0000:00/0000:00:14.0/usb3/3-1/i2c-9 (i2c)
KERNEL[1273.084719] add      /devices/pci0000:00/0000:00:14.0/usb3/3-1/3-1:1.1 (usb)
UDEV  [1273.093999] add      /devices/pci0000:00/0000:00:14.0/usb3/3-1 (usb)
UDEV  [1273.098365] add      /devices/pci0000:00/0000:00:14.0/usb3/3-1/dvb/dvb0.net0 (dvb)
UDEV  [1273.099889] add      /devices/pci0000:00/0000:00:14.0/usb3/3-1/dvb/dvb0.frontend0 (dvb)
UDEV  [1273.100285] add      /devices/pci0000:00/0000:00:14.0/usb3/3-1/i2c-9/i2c-dev/i2c-9 (i2c-dev)
UDEV  [1273.102535] remove   /devices/pci0000:00/0000:00:14.0/usb3/3-1/dvb/dvb0.frontend0 (dvb)
UDEV  [1273.102580] add      /devices/pci0000:00/0000:00:14.0/usb3/3-1/3-1:1.1 (usb)
UDEV  [1273.103167] add      /devices/pci0000:00/0000:00:14.0/usb3/3-1/dvb/dvb0.demux0 (dvb)
UDEV  [1273.103318] remove   /devices/pci0000:00/0000:00:14.0/usb3/3-1/dvb/dvb0.net0 (dvb)
UDEV  [1273.103814] remove   /devices/pci0000:00/0000:00:14.0/usb3/3-1/dvb/dvb0.demux0 (dvb)
UDEV  [1273.103856] add      /devices/pci0000:00/0000:00:14.0/usb3/3-1/dvb/dvb0.dvr0 (dvb)
UDEV  [1273.104523] remove   /devices/pci0000:00/0000:00:14.0/usb3/3-1/dvb/dvb0.dvr0 (dvb)
UDEV  [1273.105590] add      /devices/pci0000:00/0000:00:14.0/usb3/3-1/i2c-9 (i2c)
UDEV  [1273.106532] add      /devices/pci0000:00/0000:00:14.0/usb3/3-1/i2c-9/9-0038 (i2c)
UDEV  [1273.106834] add      /devices/pci0000:00/0000:00:14.0/usb3/3-1/i2c-9/9-0056 (i2c)
UDEV  [1273.107368] remove   /devices/pci0000:00/0000:00:14.0/usb3/3-1/i2c-9/9-0038 (i2c)
UDEV  [1273.107442] remove   /devices/pci0000:00/0000:00:14.0/usb3/3-1/i2c-9/9-0056 (i2c)
UDEV  [1273.108921] remove   /devices/pci0000:00/0000:00:14.0/usb3/3-1/i2c-9/i2c-dev/i2c-9 (i2c-dev)
UDEV  [1273.111286] remove   /devices/pci0000:00/0000:00:14.0/usb3/3-1/i2c-9 (i2c)
UDEV  [1274.106913] add      /devices/pci0000:00/0000:00:14.0/usb3/3-1/3-1:1.0 (usb)

And, the modules seem to be loaded:

# lsmod| egrep 'dvb|af'
af9033                 40960  0
dvb_usb_af9035         36864  0
dvb_usb_v2             36864  1 dvb_usb_af9035
dvb_core              122880  1 dvb_usb_v2
rc_core                28672  2 dvb_usb_v2,dvb_usb_af9035
# 

The issue I see is (output from lshw) that device appears to be unclaimed and system thinks it's Keyboard:

          *-usb:0 UNCLAIMED
               description: Keyboard
               product: AF9035A USB Device
               vendor: Afa Technologies Inc.
               physical id: 1
               bus info: usb@3:1
               version: 2.00
               serial: CT<snip>
               capabilities: usb-2.00
               configuration: maxpower=500mA speed=480Mbit/s

and there is no entry under /dev/dvb/

# ls /dev/dvb*
ls: cannot access '/dev/dvb*': No such file or directory
# 

Device works in Windows.

Any ideas?

kfranic

Posted 2018-01-09T17:49:19.680

Reputation: 1

Answers

0

So, sharing...

@user879862 what you noted was not exactly what was needed, but it did point me to the right direction, so thanks for that! Btw, I did not see your answer until few days ago, when I installed Xubuntu 18.04 instead of Mint... Thing now works, it is possible that this will work with Mint as well.

What was needed is to add a rule to unbind usbhid:

ACTION=="add", ATTR{idVendor}=="0b05", ATTR{idProduct}=="1779", RUN="/bin/sh -c 'echo -n $kernel >/sys/bus/usb/drivers/usbhid/unbind'"

Then, I've downloaded FW from here http://palosaari.fi/linux/:

# cksum /lib/firmware/dvb-usb-af9035-02.fw
1601101614 41872 /lib/firmware/dvb-usb-af9035-02.fw
# 

And that's it. Very simple but it was pain to figure this out given I had no clue how this works... Anyways, this was very helpful to me, hope it helps someone else as well:

kfranic

Posted 2018-01-09T17:49:19.680

Reputation: 1

0

You have to write a udev rule in a file (/etc/udev/rules.d/filenameofyourchoice.rules) for udev to avoid recognizing the stick as a HID device. I'm currently trying but I don't have found yet the correct syntax. Some says it should be like this :

ACTION=="add", ATTR{idVendor}=="0b05", ATTR{idProduct}=="1779", RUN="/bin/sh -c 'echo 0 >/sys/\$devpath/authorized'"

Good luck, give us back your experience...

user879862

Posted 2018-01-09T17:49:19.680

Reputation: 1