What am I trying?
Trying to add external display using USB 3 to VGA Fresco Logic 2000 chipset adaptor by compiling a driver and loading a module in the kernel 5.4.0-84-generic in Ubuntu 20.04.3 LTS.
Problem I am facing.
As soon as I load the modules, the screen flickers, and lsmod shows used_by 1 but there's no display on the target device and the used by in fl2000 goes back to 0.
lsusb Bus 002 Device 004: ID 1d5c:2000 Fresco Logic FL2000/FL2000DX VGA/DVI/HDMI Adapter Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 001 Device 003: ID 8087:0a2b Intel Corp. Bus 001 Device 002: ID 13d3:5a07 IMC Networks USB2.0 VGA UVC WebCam Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub lsmod Module Size Used by fl2000 32768 0 Kernel Logs
[ 1301.640870] br-f29d10b4f721: port 1(veth7a45700) entered disabled state [ 1330.244677] INFO: task kworker/7:3:351 blocked for more than 845 seconds. [ 1330.244684] Tainted: G W OE 5.4.0-84-generic #94-Ubuntu [ 1330.244687] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message. [ 1330.244690] kworker/7:3 D 0 351 2 0x80004000 [ 1330.244703] Workqueue: usb_hub_wq hub_event [ 1330.244706] Call Trace: [ 1330.244717] __schedule+0x2e3/0x740 [ 1330.244723] schedule+0x42/0xb0 [ 1330.244728] schedule_timeout+0x10e/0x160 [ 1330.244734] ? kobj_kset_leave+0x51/0x60 [ 1330.244738] ? __kobject_del+0x41/0x50 [ 1330.244743] wait_for_completion+0xb1/0x120 [ 1330.244748] ? wake_up_q+0x70/0x70 [ 1330.244756] i2c_del_adapter+0x240/0x300 [ 1330.244768] fl2000_i2c_adapter_release+0x22/0x26 [fl2000] [ 1330.244774] release_nodes+0x19a/0x1e0 [ 1330.244779] devres_release_all+0x3f/0x50 [ 1330.244784] device_release_driver_internal+0x10f/0x1d0 [ 1330.244787] device_release_driver+0x12/0x20 [ 1330.244790] bus_remove_device+0xe1/0x150 [ 1330.244795] device_del+0x165/0x370 [ 1330.244799] usb_disconnect+0x16e/0x270 [ 1330.244803] hub_port_connect+0x7d/0x850 [ 1330.244808] ? usb_set_device_state+0x9b/0x170 [ 1330.244812] port_event+0x502/0x780 [ 1330.244816] ? __switch_to_asm+0x34/0x70 [ 1330.244820] hub_event+0x152/0x390 [ 1330.244825] ? psi_avgs_work+0x64/0xd0 [ 1330.244831] process_one_work+0x1eb/0x3b0 [ 1330.244836] worker_thread+0x4d/0x400 [ 1330.244841] kthread+0x104/0x140 [ 1330.244846] ? process_one_work+0x3b0/0x3b0 [ 1330.244849] ? kthread_park+0x90/0x90 [ 1330.244853] ret_from_fork+0x35/0x40 [ 1361.329676] br-f29d10b4f721: port 1(veth6683171) entered blocking state [ 1361.329682] br-f29d10b4f721: port 1(veth6683171) entered disabled state [ 1361.329973] device veth6683171 entered promiscuous mode [ 1361.330384] br-f29d10b4f721: port 1(veth6683171) entered blocking state [ 1361.330389] br-f29d10b4f721: port 1(veth6683171) entered forwarding state [ 1361.331506] br-f29d10b4f721: port 1(veth6683171) entered disabled state [ 1361.823778] eth0: renamed from veth4e9e9b8 [ 1361.852224] IPv6: ADDRCONF(NETDEV_CHANGE): veth6683171: link becomes ready [ 1361.852402] br-f29d10b4f721: port 1(veth6683171) entered blocking state [ 1361.852407] br-f29d10b4f721: port 1(veth6683171) entered forwarding state [ 1363.235808] br-f29d10b4f721: port 1(veth6683171) entered disabled state [ 1363.236620] veth4e9e9b8: renamed from eth0 [ 1363.510263] br-f29d10b4f721: port 1(veth6683171) entered disabled state [ 1363.515881] device veth6683171 left promiscuous mode 1 Reset to default