wi-fi драйвер
Модераторы: Olej, bellic, vikos
wi-fi драйвер
здравствуйте! скажите кто сталкивался с этой проблемой и её решением-в чём ошибка? 3 дня устанавливаю root@kali:~# cd Desktop
root@kali:~/Desktop# ls
BCM43142 BCM43142-amd64 (2).tar.gz BCM43142-amd64.tar.gz iceweasel.desktop
root@kali:~/Desktop# cd BCM43142
root@kali:~/Desktop/BCM43142# make
KBUILD_NOPEDANTIC=1 make -C /lib/modules/`uname -r`/build M=`pwd`
make[1]: Entering directory `/usr/src/linux-headers-3.18.0-kali1-amd64'
CFG80211 API is prefered for this kernel version
Using CFG80211 API
LD /root/Desktop/BCM43142/built-in.o
CC [M] /root/Desktop/BCM43142/src/shared/linux_osl.o
CC [M] /root/Desktop/BCM43142/src/wl/sys/wl_linux.o
/root/Desktop/BCM43142/src/wl/sys/wl_linux.c: In function ‘wl_alloc_linux_if’:
/root/Desktop/BCM43142/src/wl/sys/wl_linux.c64: error: macro "alloc_netdev" requires 4 arguments, but only 3 given
/root/Desktop/BCM43142/src/wl/sys/wl_linux.c8: error: ‘alloc_netdev’ undeclared (first use in this function)
/root/Desktop/BCM43142/src/wl/sys/wl_linux.c8: note: each undeclared identifier is reported only once for each function it appears in
make[4]: *** [/root/Desktop/BCM43142/src/wl/sys/wl_linux.o] Ошибка 1
make[3]: *** [_module_/root/Desktop/BCM43142] Ошибка 2
make[2]: *** [sub-make] Ошибка 2
make[1]: *** [all] Ошибка 2
make[1]: Leaving directory `/usr/src/linux-headers-3.18.0-kali1-amd64'
make: *** [all] Ошибка 2
root@kali:~/Desktop/BCM43142# скачал -распаковал-зашёл в этот каталог через терминал-ввёл make,,,,,и вы сами видите что вышло
root@kali:~/Desktop# ls
BCM43142 BCM43142-amd64 (2).tar.gz BCM43142-amd64.tar.gz iceweasel.desktop
root@kali:~/Desktop# cd BCM43142
root@kali:~/Desktop/BCM43142# make
KBUILD_NOPEDANTIC=1 make -C /lib/modules/`uname -r`/build M=`pwd`
make[1]: Entering directory `/usr/src/linux-headers-3.18.0-kali1-amd64'
CFG80211 API is prefered for this kernel version
Using CFG80211 API
LD /root/Desktop/BCM43142/built-in.o
CC [M] /root/Desktop/BCM43142/src/shared/linux_osl.o
CC [M] /root/Desktop/BCM43142/src/wl/sys/wl_linux.o
/root/Desktop/BCM43142/src/wl/sys/wl_linux.c: In function ‘wl_alloc_linux_if’:
/root/Desktop/BCM43142/src/wl/sys/wl_linux.c64: error: macro "alloc_netdev" requires 4 arguments, but only 3 given
/root/Desktop/BCM43142/src/wl/sys/wl_linux.c8: error: ‘alloc_netdev’ undeclared (first use in this function)
/root/Desktop/BCM43142/src/wl/sys/wl_linux.c8: note: each undeclared identifier is reported only once for each function it appears in
make[4]: *** [/root/Desktop/BCM43142/src/wl/sys/wl_linux.o] Ошибка 1
make[3]: *** [_module_/root/Desktop/BCM43142] Ошибка 2
make[2]: *** [sub-make] Ошибка 2
make[1]: *** [all] Ошибка 2
make[1]: Leaving directory `/usr/src/linux-headers-3.18.0-kali1-amd64'
make: *** [all] Ошибка 2
root@kali:~/Desktop/BCM43142# скачал -распаковал-зашёл в этот каталог через терминал-ввёл make,,,,,и вы сами видите что вышло
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: wi-fi драйвер
andrey874 писал(а):здравствуйте! скажите кто сталкивался с этой проблемой и её решением-в чём ошибка? 3 дня устанавливаю
Элементарно, Ватсон!
Кстати, об этом здесь на форуме описано: Wi-Fi Broadcom
Но идея то, коротко, в том, что прототипы (синтаксис) 2-х вызовов сетевого API начиная с ядра 3.17 поменялись.
Поменялись синтаксически.
И теперь нужно взять исходный код модуля-драйвера и поменять:
Код: Выделить всё
dev = alloc_netdev(sizeof(priv_link_t), intf_name, ether_setup);
Код: Выделить всё
dev = alloc_netdev(sizeof(priv_link_t), intf_name, NET_NAME_ENUM, ether_setup);
Код: Выделить всё
cfg80211_ibss_joined(ndev, (u8 *)&wl->bssid, GFP_KERNEL);
Код: Выделить всё
cfg80211_ibss_joined(ndev, (u8 *)&wl->bssid, NULL, GFP_KERNEL);
А мне лень обращать их внимание на такие мелочи.
P.S. Если вам не лень, то вы можете этим заняться.
Re: wi-fi драйвер
здравствуйте! если у вас будет время напишите как мне это сделать поменять коды....просто я ещё мало знаком с этой системой....cfg80211_ibss_joined(ndev, (u8 *)&wl->bssid, GFP_KERNEL);-такого у меня в wl_linux.c вообще нету
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: wi-fi драйвер
Как сделать?andrey874 писал(а):здравствуйте! если у вас будет время напишите как мне это сделать поменять коды....просто я ещё мало знаком с этой системой....cfg80211_ibss_joined(ndev, (u8 *)&wl->bssid, GFP_KERNEL);-такого у меня в wl_linux.c вообще нету
1. Ну, модуль ядра нужно собрать по-новой (драйвер)...
Но вы это уже начали делать ... значит знаете как и зачем это делаете?
2. Я так понимаю, что драйвер вы скачали последний? ... на странице Broadcom 802.11 Linux STA driver...
3. Теперь 1-ю правку делаете в файле wl_linux.c:32-bit driver 6.30.223.141 09/10/2013 Download Zip File 1.1MB
64-bit driver 6.30.223.141 09/10/2013 Download Zip File 1.2MB
README.txt 6.30.223.141 09/10/2013 Download Text File 14KB
Код: Выделить всё
#if (LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 24))
dev = MALLOC(wl->osh, sizeof(struct net_device));
...
#elif (LINUX_VERSION_CODE < KERNEL_VERSION(3, 17, 0))
dev = alloc_netdev(sizeof(priv_link_t), intf_name, ether_setup);
...
#else
dev = alloc_netdev(sizeof(priv_link_t), intf_name, NET_NAME_ENUM, ether_setup);
...
Код: Выделить всё
#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 17, 0)
cfg80211_ibss_joined(ndev, (u8 *)&wl->bssid, GFP_KERNEL);
#else
cfg80211_ibss_joined(ndev, (u8 *)&wl->bssid, NULL, GFP_KERNEL);
#endif
P.S. Заметьте, что если вы будете обновлять версию или хотя бы модификацию ядра (из репозитария пакетной системы) - вам необходимо будет пересобирать драйвер заново.
Re: wi-fi драйвер
по написанному понятен ход....только драйвер я скачал вот этот-http://www....md64.tar.gz вот что я делал Пробуйте скачать архив отсюда:
http://www....md64.tar.gz
Я уже пропатчил исходники под вашу ось.
Распакуйте и зайдите терминалом в получившийся каталог BCM43142
Дайте команду make внутри этого каталога
И далее по списку:
cp wl.ko /lib/modules/`uname -r`/kernel/net/wireless/
depmod
rmmod bcma
echo "blacklist bcma" >> /etc/modprobe.d/blacklist.conf
modprobe wl
http://www....md64.tar.gz
Я уже пропатчил исходники под вашу ось.
Распакуйте и зайдите терминалом в получившийся каталог BCM43142
Дайте команду make внутри этого каталога
И далее по списку:
cp wl.ko /lib/modules/`uname -r`/kernel/net/wireless/
depmod
rmmod bcma
echo "blacklist bcma" >> /etc/modprobe.d/blacklist.conf
modprobe wl
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: wi-fi драйвер
Ссылка битая!andrey874 писал(а):по написанному понятен ход....только драйвер я скачал вот этот-http://www....md64.tar.gz вот что я делал Пробуйте скачать архив отсюда:
http://www....md64.tar.gz
Вставлять ссылки нужно через тег <URL> (кнопка над экраном редактирования) ... а не просто вкопируя www-каракули
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: wi-fi драйвер
А это традиционная установка модуля в системе Linux.andrey874 писал(а): Дайте команду make внутри этого каталога
И далее по списку:
cp wl.ko /lib/modules/`uname -r`/kernel/net/wireless/
depmod
rmmod bcma
echo "blacklist bcma" >> /etc/modprobe.d/blacklist.conf
modprobe wl
Могу только подсказать в уточнение:
1.После того, как вы соберёте модуль (если соберёте ), прежде чем его устанавливать "на постоянку" depmod, сначала лучше просто проверьте то что вы собрали однократной загрузкой, в каталоге где вы делали make выполняете:
Код: Выделить всё
# insmod wl.ko
Проверяете что драйвер нормально встал:
Код: Выделить всё
$ lsmod | grep wl
wl 6363567 0
cfg80211 493592 1 wl
Код: Выделить всё
$ ping -I wlo1 8.8.8.8
PING 8.8.8.8 (8.8.8.8) from 192.168.1.21 wlo1: 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=44 time=80.6 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=44 time=81.3 ms
(вы как можете видеть - это я с протокола реальной загрузки драйвера копирую, а не по памяти).
2. И если всё нормально работает (поработайте через загруженный модуль час-другой) - то устанавливайте его как написано в вашей инструкции.
Модуль bcma нужно удалять и заносить в blacklist только если чип неправильно определился и этот модуль загружен (об этом показано в теме форум про Broadcom, которую я показывал выше).
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: wi-fi драйвер
А в ядре 3.18 - я вас поздравляю:
Код: Выделить всё
[Olej@modules hybrid_wl]$ uname -a
Linux modules.localdomain 3.18.5-101.fc20.x86_64 #1 SMP Mon Feb 2 20:58:23 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
[Olej@modules hybrid_wl]$ make
KBUILD_NOPEDANTIC=1 make -C /lib/modules/`uname -r`/build M=`pwd`
make[1]: Вход в каталог `/usr/src/kernels/3.18.5-101.fc20.x86_64'
CFG80211 API is prefered for this kernel version
Using CFG80211 API
LD /home/Olej/2015-WORK/devices/hybrid_wl/built-in.o
CC [M] /home/Olej/2015-WORK/devices/hybrid_wl/src/shared/linux_osl.o
CC [M] /home/Olej/2015-WORK/devices/hybrid_wl/src/wl/sys/wl_linux.o
CC [M] /home/Olej/2015-WORK/devices/hybrid_wl/src/wl/sys/wl_iw.o
CC [M] /home/Olej/2015-WORK/devices/hybrid_wl/src/wl/sys/wl_cfg80211_hybrid.o
...
/home/Olej/2015-WORK/devices/hybrid_wl/src/wl/sys/wl_cfg80211_hybrid.c:2015:3: ошибка: несовместимый тип аргумента 3 функции «cfg80211_inform_bss»
(const u8 *)notify_ie, notify_ielen, signal, GFP_KERNEL);
^
...
/home/Olej/2015-WORK/devices/hybrid_wl/src/wl/sys/wl_cfg80211_hybrid.c:2015:3: ошибка: слишком мало аргументов в вызове функции «cfg80211_inform_bss»
(const u8 *)notify_ie, notify_ielen, signal, GFP_KERNEL);
...
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: wi-fi драйвер
Только разгребать я это буду уже не здесь, а продолжая тему Wi-Fi Broadcom.Olej писал(а):А в ядре 3.18 - я вас поздравляю:
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: wi-fi драйвер
Я там всё сделал и показал, для:Olej писал(а):Только разгребать я это буду уже не здесь, а продолжая тему Wi-Fi Broadcom.Olej писал(а):А в ядре 3.18 - я вас поздравляю:
Код: Выделить всё
[Olej@modules ~]$ uname -a
Linux modules.localdomain 3.18.5-101.fc20.x86_64 #1 SMP Mon Feb 2 20:58:23 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
Код: Выделить всё
[Olej@modules ~]$ ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: em1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
link/ether a0:1d:48:f4:93:5c brd ff:ff:ff:ff:ff:ff
3: wlo1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DORMANT group default qlen 1000
link/ether 34:23:87:d6:85:0d brd ff:ff:ff:ff:ff:ff
[Olej@modules ~]$ route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default 192.168.1.1 0.0.0.0 UG 1024 0 0 wlo1
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 wlo1
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя