Hi
@lonniehenry-gmail
I had a play with the wl driver for an hour or so last night and got it to build and work.
Code:
matthew-S206:/home/matthew:0 % uname -r && lspci -nnk | pbl Wireless && nm-tool | pbl Device && ping -c1 192.168.0.1
3.15.0-031500rc1-generic
03:00.0 Network controller [0280]: Broadcom Corporation BCM4313 802.11bgn Wireless Network Adapter [14e4:4727] (rev 01)
Subsystem: Broadcom Corporation Device [14e4:0587]
Kernel driver in use: wl
- Device: eth0 [matt_dlink] ---------------------------------------------------
Type: 802.11 WiFi
Driver: wl
State: connected
Default: yes
HW Address: C0:14:3D:C7:03:C9
PING 192.168.0.1 (192.168.0.1) 56(84) bytes of data.
64 bytes from 192.168.0.1: icmp_seq=1 ttl=64 time=1.19 ms
--- 192.168.0.1 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 1.190/1.190/1.190/0.000 ms
matthew-S206:/home/matthew:0 %
BTW: If you're interested in what pbl is (above), it's a bash/zsh function i have declared in my aliases/functions file.
Code:
matthew-S206:/home/matthew:2 % declare -f pbl
pbl () {
sed "/$1/,/^$/!d"
}
matthew-S206:/home/matthew:2 %
I don't know if an offical patch has been released yet so if you interested in what i did to get it to build, here are the details.
I am assuming you have the same setup as me as i have been hacking this driver for a while because it has failed to build after a new kernel release before
You need to edit the file
Code:
/usr/src/bcmwl-6.30.223.141+bdcom/src/wl/sys/wl_cfg80211_hybrid.c
Goto to line number 1844. It should look like this
Code:
cfg80211_ibss_joined(ndev, (u8 *)&wl->bssid, GFP_KERNEL);
Delete that line and add these lines in its place.
Code:
#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 15, 0)
cfg80211_ibss_joined(ndev, (u8 *)&wl->bssid, &wl->conf->channel, GFP_KERNEL);
#else
cfg80211_ibss_joined(ndev, (u8 *)&wl->bssid, GFP_KERNEL);
#endif
Save the file and then you need to build it (this assumes you are using the generic kernel and not the low-latency kernel. Change the commands below if required).
Code:
sudo dkms build -m bcmwl/6.30.223.141+bdcom -k 3.15.0-031500rc1-generic
After you have built it you need to install it.
Code:
sudo dkms install -m bcmwl/6.30.223.141+bdcom -k 3.15.0-031500rc1-generic
Finally load the module.
Obviously to get the module to build automatically every time a kernel is installed, a patch will need to be created and hooked into the dkms patches framework for the driver.
I have not done this yet because, although i know it builds and works, i have not worked through the code enough to be 100% certain that it is the correct solution.
If you're not sure how to make a patch and hook it into the dkms framework then post back if your interested. I will go through the code some more tomorrow evening and, if i am happy, will produce a patch that we can use until an official patch is released.
On a different note, i have noticed that my Lenovo hangs when resuming from suspend under the .15 kernel. A hard reboot is necessary.
Interestingly, none of the resume hooks are being called and there does not seem to be much in syslog.
Is this affecting anybody else ?
Kind regards