How do I add more kernel aliases for a driver of hardware version that is newer?
My system details:
NAME="OpenWrt"
VERSION="21.02.0"
PRETTY_NAME="OpenWrt 21.02.0"
VERSION_ID="21.02.0"
BUILD_ID="r16279-5cc0535800"
OPENWRT_BOARD="bcm27xx/bcm2709"
OPENWRT_ARCH="arm_cortex-a7_neon-vfpv4"
OPENWRT_DEVICE_PRODUCT="Generic"
OPENWRT_DEVICE_REVISION="v0"
OPENWRT_RELEASE="OpenWrt 21.02.0 r16279-5cc0535800"
from /sys/kernel/debug/usb/devices
new hardware, not working, no driver associated, requires r8152
T: Bus=01 Lev=02 Prnt=02 Port=02 Cnt=03 Dev#= 5 Spd=480 MxCh= 0
D: Ver= 2.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 3
P: Vendor=0bda ProdID=8153 Rev=f3.f0
S: Manufacturer=Realtek
S: Product=USB 10/100/1000 LAN
S: SerialNumber=0F3F000001
C: #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr=200mA
I: If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=00 **Driver=**
E: Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=83(I) Atr=03(Int.) MxPS= 2 Ivl=128ms
C:* #Ifs= 2 Cfg#= 2 Atr=a0 MxPwr=200mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=0d Prot=00 Driver=(none)
E: Ad=83(I) Atr=03(Int.) MxPS= 16 Ivl=128ms
I:* If#= 1 Alt= 0 #EPs= 0 Cls=0a(data ) Sub=00 Prot=01 Driver=(none)
I: If#= 1 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=01 Driver=(none)
E: Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
C: #Ifs= 2 Cfg#= 3 Atr=a0 MxPwr=200mA
I: If#= 0 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=06 Prot=00 Driver=
E: Ad=83(I) Atr=03(Int.) MxPS= 16 Ivl=128ms
I: If#= 1 Alt= 0 #EPs= 0 Cls=0a(data ) Sub=00 Prot=00 Driver=
I: If#= 1 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=
E: Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
old hardware and working with r8152
T: Bus=01 Lev=02 Prnt=02 Port=03 Cnt=04 Dev#= 6 Spd=480 MxCh= 0
D: Ver= 2.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 2
P: Vendor=0bda ProdID=8153 Rev=31.00
S: Manufacturer=Realtek
S: Product=USB 10/100/1000 LAN
S: SerialNumber=001000001
C:* #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr=350mA
I:* If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=00 **Driver=r8152**
E: Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=83(I) Atr=03(Int.) MxPS= 2 Ivl=16ms
C: #Ifs= 2 Cfg#= 2 Atr=a0 MxPwr=350mA
I: If#= 0 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=06 Prot=00 Driver=
E: Ad=83(I) Atr=03(Int.) MxPS= 16 Ivl=16ms
I: If#= 1 Alt= 0 #EPs= 0 Cls=0a(data ) Sub=00 Prot=00 Driver=
I: If#= 1 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=
E: Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
new:
cat /sys/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.3/1-1.3:2.1/modalias
usb:v0BDAp8153dF3F0dc00dsc00dp00ic0Aisc00ip01in01
old:
cat /sys/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.5/1-1.5:1.0/modalias
usb:v0BDAp5411d0104dc09dsc00dp02ic09isc00ip02in00
As I understand it, if I want to load the kernel module with a parameter I must use insmod. However when I try to run:
insmod r8152 alias=usb:v0BDAp8153dF3F0dc00dsc00dp00ic0Aisc00ip01in01
kern.warn kernel: [ 3412.755392] r8152: unknown parameter 'alias' ignored
kern.info kernel: [ 3412.853630] usb 1-1.4: reset high-speed USB device number 6 using dwc_otg
kern.info kernel: [ 3413.046156] r8152 1-1.4:1.0 eth1: v1.10.11
kern.info kernel: [ 3413.052535] usbcore: registered new interface driver r8152
What option do I have left to fix this at run time?
Will a more generic alias also be better for future hardware?
usb:v0BDAp8053d*dc*dsc*dp*icFFisc*ip*in*
I can confirm that this hardware works with kernel 5.18.15 on my i686 Arch Linux, after adding the additional udev rule.
What would be the equivalent in OpenWRT or am I onto the right path here with the kernel module needing to add a newer alias?