Page 1 of 1

Wireless not working (BCM43142)

Posted: Fri Apr 11, 2014 11:49 am
by cgh
Hi everybody,

I just installed LMDE 201403, and as expected, I had problems with my wireless. I had installed debian (stable) in the same computer, a Lenovo Edge E431, and the wireless didn't work, but I managed to fix the problem following this blog:
http://thedubiousdisc.wordpress.com/201 ... on-debian/
So, I followed the same steps after installing LMDE, but now it didn't work. Now I show you what I did:
First of all, lspci

Code: Select all

# lspci | grep Network
04:00.0 Network controller: Broadcom Corporation BCM43142 802.11b/g/n (rev 01)
following the instructions of the blog, I ran

Code: Select all

apt-get install linux-headers-generic build-essential dkms broadcom-sta-modules
In debian stable I had no error, but now the linux-headers-generic package is missing:

Code: Select all

Package linux-headers-generic is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'linux-headers-generic' has no installation candidate
I skipped that part and installed the other packages:

Code: Select all

#apt-get install build-essential dkms broadcom-sta-modules
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Note, selecting 'broadcom-sta-dkms' instead of 'broadcom-sta-modules'
build-essential is already the newest version.
dkms is already the newest version.
The following NEW packages will be installed:
  broadcom-sta-dkms
0 upgraded, 1 newly installed, 0 to remove and 18 not upgraded.
Need to get 1,745 kB of archives.
After this operation, 9,965 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://debian.linuxmint.com/latest/ testing/non-free broadcom-sta-dkms all 6.30.223.141-1 [1,745 kB]
Fetched 1,745 kB in 5s (346 kB/s)              
Selecting previously unselected package broadcom-sta-dkms.
(Reading database ... 146477 files and directories currently installed.)
Unpacking broadcom-sta-dkms (from .../broadcom-sta-dkms_6.30.223.141-1_all.deb) ...
Setting up broadcom-sta-dkms (6.30.223.141-1) ...
Loading new broadcom-sta-6.30.223.141 DKMS files...
First Installation: checking all kernels...
Building only for 3.11-2-amd64
Building initial module for 3.11-2-amd64
Done.

wl:
Running module version sanity check.
 - Original module
   - No original module exists within this kernel
 - Installation
   - Installing to /lib/modules/3.11-2-amd64/updates/dkms/

depmod.....

Backing up initrd.img-3.11-2-amd64 to /boot/initrd.img-3.11-2-amd64.old-dkms
Making new initrd.img-3.11-2-amd64
(If next boot fails, revert to initrd.img-3.11-2-amd64.old-dkms image)
update-initramfs....

DKMS: install completed.
Processing triggers for initramfs-tools ...
update-initramfs: Generating /boot/initrd.img-3.11-2-amd64
Finally I installed the .deb:

Code: Select all

# dpkg -i wireless-bcm43142-dkms_6.20.55.19-1_amd64.deb
(Reading database ... 146537 files and directories currently installed.)
Preparing to replace wireless-bcm43142-dkms 6.20.55.19-1 (using wireless-bcm43142-dkms_6.20.55.19-1_amd64.deb) ...

------------------------------
Deleting module version: 6.20.55.19
completely from the DKMS tree.
------------------------------
Done.
Unpacking replacement wireless-bcm43142-dkms ...
Setting up wireless-bcm43142-dkms (6.20.55.19-1) ...
Loading new wireless-bcm43142-6.20.55.19 DKMS files...
Building only for 3.11-2-amd64
Building initial module for 3.11-2-amd64
Error! Bad return status for module build on kernel: 3.11-2-amd64 (x86_64)
Consult /var/lib/dkms/wireless-bcm43142/6.20.55.19/build/make.log for more information.
Even having an error i kept going, so i ran the modprobe wl, but it didn't do anything. I searched ways to fix the "Bad return status for module build on kernel: 3.11-2-amd64 (x86_64)" error, but I couldn't find anything. I also tried to solve the linux headers error, but I don't know which headers should be installed to fix this. There's another solution to my problem in thinkwiki:
http://www.thinkwiki.org/wiki/Installin ... _Edge_E135
but it implies using an ubuntu package, and i'm not sure of using this.

If anyone is asking about the make.log, here it is:

Code: Select all

DKMS make.log for wireless-bcm43142-6.20.55.19 for kernel 3.11-2-amd64 (x86_64)
Fri Apr 11 11:47:41 CLST 2014
make: Entering directory `/usr/src/linux-headers-3.11-2-amd64'
CFG80211 API is prefered for this kernel version
Using CFG80211 API
  LD      /var/lib/dkms/wireless-bcm43142/6.20.55.19/build/built-in.o
  CC [M]  /var/lib/dkms/wireless-bcm43142/6.20.55.19/build/src/shared/linux_osl.o
  CC [M]  /var/lib/dkms/wireless-bcm43142/6.20.55.19/build/src/wl/sys/wl_linux.o
/var/lib/dkms/wireless-bcm43142/6.20.55.19/build/src/wl/sys/wl_linux.c: In function ‘wl_tkip_printstats’:
/var/lib/dkms/wireless-bcm43142/6.20.55.19/build/src/wl/sys/wl_linux.c:2696:7: warning: passing argument 1 of ‘wl->tkipmodops->print_stats’ from incompatible pointer type [enabled by default]
       wl->tkip_bcast_data[idx]);
       ^
/var/lib/dkms/wireless-bcm43142/6.20.55.19/build/src/wl/sys/wl_linux.c:2696:7: note: expected ‘struct seq_file *’ but argument is of type ‘char *’
/var/lib/dkms/wireless-bcm43142/6.20.55.19/build/src/wl/sys/wl_linux.c:2699:4: warning: passing argument 1 of ‘wl->tkipmodops->print_stats’ from incompatible pointer type [enabled by default]
    wl->tkipmodops->print_stats(debug_buf, wl->tkip_ucast_data);
    ^
/var/lib/dkms/wireless-bcm43142/6.20.55.19/build/src/wl/sys/wl_linux.c:2699:4: note: expected ‘struct seq_file *’ but argument is of type ‘char *’
/var/lib/dkms/wireless-bcm43142/6.20.55.19/build/src/wl/sys/wl_linux.c: In function ‘wl_reg_proc_entry’:
/var/lib/dkms/wireless-bcm43142/6.20.55.19/build/src/wl/sys/wl_linux.c:2909:2: error: implicit declaration of function ‘create_proc_entry’ [-Werror=implicit-function-declaration]
  if ((wl->proc_entry = create_proc_entry(tmp, 0644, NULL)) == NULL) {
  ^
/var/lib/dkms/wireless-bcm43142/6.20.55.19/build/src/wl/sys/wl_linux.c:2909:22: warning: assignment makes pointer from integer without a cast [enabled by default]
  if ((wl->proc_entry = create_proc_entry(tmp, 0644, NULL)) == NULL) {
                      ^
/var/lib/dkms/wireless-bcm43142/6.20.55.19/build/src/wl/sys/wl_linux.c:2914:16: error: dereferencing pointer to incomplete type
  wl->proc_entry->read_proc = wl_proc_read;
                ^
/var/lib/dkms/wireless-bcm43142/6.20.55.19/build/src/wl/sys/wl_linux.c:2915:16: error: dereferencing pointer to incomplete type
  wl->proc_entry->write_proc = wl_proc_write;
                ^
/var/lib/dkms/wireless-bcm43142/6.20.55.19/build/src/wl/sys/wl_linux.c:2916:16: error: dereferencing pointer to incomplete type
  wl->proc_entry->data = wl;
                ^
cc1: some warnings being treated as errors
make[3]: *** [/var/lib/dkms/wireless-bcm43142/6.20.55.19/build/src/wl/sys/wl_linux.o] Error 1
make[2]: *** [_module_/var/lib/dkms/wireless-bcm43142/6.20.55.19/build] Error 2
make[1]: *** [sub-make] Error 2
make: *** [all] Error 2
make: Leaving directory `/usr/src/linux-headers-3.11-2-amd64'

Re: Wireless not working (BCM43142)

Posted: Wed Apr 16, 2014 6:46 am
by Oxihjen
Although the package description does not include it, according to this readme the bcm43142 is supported: http://www.broadcom.com/docs/linux_sta/README.txt

Did you try the 'broadcom-sta-common' package?

Code: Select all

apt-get install broadcom-sta-common
Edit: It might be more complicated, with the 'binary-only' driver. After some searches, more people seem to have problems and use either one of the two methods you posted. The Ubuntu driver might work actually, it's not version dependent, after looking at it:

Code: Select all

dpkg --info <pkg-name>.deb
I did find some posts with issues for certain kernels though..
The first link/method also uses an adapted ubuntu package, so I guess that's the best one to try.


As for the headers that failed to install, instead of 'generic', use the current kernel:

Code: Select all

uname -r
But again, some people had issues, with certain kernels, hmm..