Re: [PATCH] si2157: Add support for Logilink VG0022A.

From: Mauro Carvalho Chehab
Date: Thu Oct 03 2019 - 13:42:38 EST


Em Thu, 3 Oct 2019 18:23:26 +0200
Gon Solo <gonsolo@xxxxxxxxx> escreveu:

> > No, I mean with the first patch you sent to the ML, with the powerup
> > hack.
>
> Boot time:
>
> [ 4.653257] si2168 1-0067: Silicon Labs Si2168-B40 successfully identified
> [ 4.653259] si2168 1-0067: firmware version: B 4.0.2
> [ 4.653279] usb 2-1: DVB: registering adapter 0 frontend 0 (Silicon Labs Si2168)...
> [ 4.653284] dvbdev: dvb_create_media_entity: media entity 'Silicon Labs Si2168' registered.
> ...
> [ 4.694785] si2157 2-0063: found a 'Silicon Labs Si2147-A30'
> [ 4.694787] si2157 2-0063: Silicon Labs Si2147/2148/2157/2158 successfully attached
> [ 4.717814] usb 2-1: dvb_usb_v2: 'Logilink VG0022A' successfully initialized and connected
> [ 4.717880] usbcore: registered new interface driver dvb_usb_af9035
>
> VLC time:
>
> [ 175.490609] si2168 1-0067: downloading firmware from file 'dvb-demod-si2168-b40-01.fw'
> [ 176.746585] si2168 1-0067: firmware version: B 4.0.25
> [ 176.781570] si2157 2-0063: firmware version: \xff.\xff.255

Weird... it sounds that, after si2168 has its firmware updated, it
starts interfering at si2157. Perhaps there's a bug at si2168 I2C
gate mux logic. Are you using a new Kernel like 5.2?

I guess the best is to enable the debug logs in order to see what's
happening on both cases.

You can enable all debug messages (after loading the modules) with:

# for i in $(cat /sys/kernel/debug/dynamic_debug/control |grep -E '(si21|af9035)' |cut -d' ' -f 1); do echo "file $i +p" >>/sys/kernel/debug/dynamic_debug/control; done

You could also try to disable the firmware upload at si2168 and see
if the si2157 reads will succeed.


Thanks,
Mauro