[Bug 1993274] Re: [SRU] Fix compilation errors on 5.19
Lukas Märdian
1993274 at bugs.launchpad.net
Thu Nov 17 15:23:48 UTC 2022
** Also affects: licheerv-rtl8723ds-dkms (Ubuntu Jammy)
Importance: Undecided
Status: New
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to licheerv-rtl8723ds-dkms in
Ubuntu.
https://bugs.launchpad.net/bugs/1993274
Title:
[SRU] Fix compilation errors on 5.19
Status in licheerv-rtl8723ds-dkms package in Ubuntu:
Fix Released
Status in licheerv-rtl8723ds-dkms source package in Jammy:
New
Status in licheerv-rtl8723ds-dkms source package in Kinetic:
Fix Committed
Status in licheerv-rtl8723ds-dkms source package in Lunar:
Fix Released
Bug description:
[ Impact ]
This dkms package builds the driver on the host and it fails to
compile on 5.19 kernels with the following errors:
/home/itrue/host/git/riscv/sipeed-lichee-kernel-snap/parts/wlan-driver/build/rtl8723ds-dkms/5.1.1.5/build/8723ds/os_dep/linux/ioctl_cfg80211.c:6821:20: error: initialization of ‘int (*)(struct wiphy *, struct net_device *, unsigned int)’ from incompatible pointer type ‘int (*)(struct wiphy *, struct net_device *)’ [-Werror=incompatible-pointer-types]
6821 | .stop_ap = cfg80211_rtw_stop_ap,
| ^~~~~~~~~~~~~~~~~~~~
/home/itrue/host/git/riscv/sipeed-lichee-kernel-snap/parts/wlan-driver/build/rtl8723ds-dkms/5.1.1.5/build/8723ds/os_dep/linux/ioctl_cfg80211.c:6821:20: note: (near initialization for ‘rtw_cfg80211_ops.stop_ap’)
/home/itrue/host/git/riscv/sipeed-lichee-kernel-snap/parts/wlan-driver/build/rtl8723ds-dkms/5.1.1.5/build/8723ds/os_dep/linux/ioctl_cfg80211.c: In function ‘rtw_wdev_unregister’:
/home/itrue/host/git/riscv/sipeed-lichee-kernel-snap/parts/wlan-driver/build/rtl8723ds-dkms/5.1.1.5/build/8723ds/os_dep/linux/ioctl_cfg80211.c:7052:17: error: ‘struct wireless_dev’ has no member named ‘current_bss’
7052 | if (wdev->current_bss) {
| ^~
We need to backport this fix as the 5.19 linux kernel for this board
is in proposed and will finally migrate after the release.
[ Test Plan ]
$ sudo apt install licheerv-rtl8723ds-dkms
Selecting previously unselected package licheerv-rtl8723ds-dkms.
(Reading database ... 112897 files and directories currently installed.)
Preparing to unpack licheerv-rtl8723ds-dkms_1.0-0ubuntu2~ppa0_riscv64.deb ...
Unpacking licheerv-rtl8723ds-dkms (1.0-0ubuntu2~ppa0) ...
Setting up licheerv-rtl8723ds-dkms (1.0-0ubuntu2~ppa0) ...
Loading new licheerv-rtl8723ds-1.0 DKMS files...
Building for 5.19.0-1003-allwinner
Building initial module for 5.19.0-1003-allwinner
Done.
8723ds.ko:
Running module version sanity check.
- Original module
- No original module exists within this kernel
- Installation
- Installing to /lib/modules/5.19.0-1003-allwinner/updates/dkms/
depmod...........................
The build of the module will take quite some time (more than 1hour..).
$ sudo ip link set dev wlan0 up
And finally use the following netplan configuration to connect to your
AP (to store at /etc/netplan/wifi.yaml for example):
network:
version: 2
renderer: networkd
wifis:
wlan0:
dhcp4: yes
dhcp6: yes
access-points:
"YOUR_SSID":
password: "YOUR_PASSWORD"
$ sudo netplan apply
Finally, we should be connected to the AP:
$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group defaul0
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: usb0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOW0
link/ether ae:12:05:64:8e:2c brd ff:ff:ff:ff:ff:ff
3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group def0
link/ether 34:20:03:2a:0d:0c brd ff:ff:ff:ff:ff:ff
inet 192.168.1.28/24 metric 600 brd 192.168.1.255 scope global dynamic wlan0
valid_lft 86393sec preferred_lft 86393sec
inet6 fe80::3620:3ff:fe2a:d0c/64 scope link
valid_lft forever preferred_lft forever
[ Where problems could occur ]
One part of the fix is straightforward: it is the addition of a new parameter in a callback.
The other part is based on the upstream commit that removed "current_bss" field, there may be an oversight/misunderstanding in how to fix this and then the behaviour of the driver might in that particular case that I don't know how to trigger.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/licheerv-rtl8723ds-dkms/+bug/1993274/+subscriptions
More information about the foundations-bugs
mailing list