Показаны сообщения с ярлыком wifi. Показать все сообщения
Показаны сообщения с ярлыком wifi. Показать все сообщения

понедельник, 26 апреля 2010 г.

Настройка Wifi на нетбуке HP Mini 501 под Tiny Core Linux

Пару месяцев назад приобрёл себе новый нетбук. Дефолтный SLED меня не порадовал своей тормознутостью, захотелось чего-нибудь быстрого и экзотичного. И вот на welinux наткнулся на заметку про Tiny Core. Понравилось, поставил, столнулся с проблемой неработающего Wifi. Начал копать и откопал.




Для начала нужно определить название Wifi чипа.
Для этого используем lspci. В Tiny Core по умолчанию этой команды нет, необходимо установить пакет pci-utils.
Анализируем вывод и находим такую строчку:

08:00.0 Network controller: Broadcom Corporation BCM4312 802.11b/g (rev 01)

Из неё делаем вывод, что чип у нас broadcom bcm4312.
Далее идем на linuxwireless.org и читаем мануал.
Пишут там следующее

lspci -vnn | grep 14e4

08:00.0 Network controller [0280]: Broadcom Corporation BCM4312 802.11b/g [14e4:4315] (rev 01)

Отсюда можно узнать точную модель. В данном случае "4315".
На сайте есть таблица, по которой можно понять поддерживается ли ваш чип и какой версией ядра.
Напротив моего чипа в таблице было следующее:

supported 2.6.32 and later

А ядро по умолчанию в Tiny Core 2.6.29. "Надо собрать своё" - догадался Штирлиц.
Будем собирать. Для сборки нам понадобится, как минимум, gcc и make. Их надо поставить через пакетный менеджер.
Качаем с kernel.org текущее стабильное ядро.

wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.33.2.tar.bz2
tar xf linux-2.6.33.2.tar.bz2
cd linux-2.6.33.2

Качаем стандартный для Tiny Core конфиг ядра тут. (Main - Downloads - Current Release - src), кладем в папку с исходниками ядра и переименовываем в ".config"

wget http://distro.ibiblio.org/pub/linux/distributions/tinycorelinux/2.x/release/src/config-2.6.29.1-tinycore
mv config-2.6.29.1-tinycore .config

Далее включаем конфигуратор, правим, если что нужно править(я ничего не трогал), выходим, перезаписываем .config и приступаем к сборке.

make menuconfig
make
make bzImage
make modules
make INSTALL_MOD_PATH=./mod_dir modules_install


Собранные модули нужно добавить в initrd следующим образом(инструкция[eng]:

mkdir extract
cp /mnt/sda1/boot/tinycore.gz ./extract
cd extract
zcat tinycore.gz | sudo cpio -i -H newc -d
rm -rf lib/modules/2.6.29.1-tinycore
cp -r ../mod_dir/lib/modules/2.6.33.2-tinycore ./
cd ..
sudo depmod -b extract 2.6.29.1-tinycore
sudo ldconfig -r extract
find extract| sudo cpio -o -H newc | gzip -2 > ../tinycore.gz
advdef -z4 tinycore.gz

Всё собрано, осталось перенести в нужное место и подготовить загрузчик.

cp tinycore.gz /mnt/sda1/boot/tinycore2.gz
cp arch/x86/boot/bzImage /mnt/sda1/boot/bzImage2

Далее открываем /mnt/sda1/boot/grub/menu.lst любым редактором и добавляем туда.

title tinycore2
kernel /boot/bzImage_tr quiet
initrd /boot/tinycore2.gz

Сохраняем, перезагружаемся.
После перезагрузки набираем iwconfig.
Должен появиться наш интерфейс.
Но и это еще не всё!
Еще нам нужна прошивка. Cтавим из репозитория b43-fwcutter. А потом делаем так(тоже с linuxwireless)

wget http://mirror2.openwrt.org/sources/broadcom-wl-4.150.10.5.tar.bz2
tar xjf broadcom-wl-4.150.10.5.tar.bz2
cd broadcom-wl-4.150.10.5/driver
sudo b43-fwcutter wl_apsta_mimo.o
sudo mkdir /lib/firmware
sudo cp -r b43 /lib/firmware/

Ну и перезагружаем модуль:

sudo rmmod b43
sudo modprobe b43

Далее "sudo wicd-start" ну и wicd-curses, например. Где и видим-таки наши долгожданные сети.
Проверил, работает, не ломается при переходе в suspend и обратно. В общем всё супер.
В качестве бонуса после пересборки ядра заработала прокрутка на тачпаде, с которой достаточно долго ковырялся до этого.



Продолжение...


пятница, 7 сентября 2007 г.

Wifi на ноутбуке HP nx6110

Хочу поделиться своими действиями в ходе моей недавней битвы с wifi адаптером моего ноутбука.
Дано:
Ноутбук HP Compaq nx6110 со встроенным в него wifi адаптером Broadcom BCM4318
Dlink Access Point DWL-2100AP
Беспроводная сеть настроена с ключом WPA.
Задача:
Сделать так, чтобы все это работало.

Первым делом, нужно установить драйвера. Теоретически, в дистрибутив входит драйвер для таких адаптеров, но практически, он только намертво зажигает индикатор, и на этом его полезные функции заканчиваются. Поэтому мы будем использовать ndiswrapper и драйвера для Windows.
Ndiswrapper(если еще не установлен) устанавливается командой

yum install ndiswrapper

Драйвера для windows можно скачать отсюда.
Распаковать этот exe'шник можно командой

unzip D00464-001- 001.exe

если конечно у вас установлен пакет unzip.
Потом, в папке, куда все это распаковалось нужно вбить:

ndiswrapper -i bcwml5.inf

Должно появиться что-то вроде этого:
Installing bcmwl5
Forcing parameter IBSSGMode|0 to IBSSGMode|2
Forcing parameter IBSSGMode|0 to IBSSGMode|2


Следом нужно запустить 3 команды

ndiswrapper -m
ndiswrapper -da
ndiswrapper -di


Здесь я не уверен, возможно что-то из этого запускать не обязательно. Но мне было лень перезагружаться 3 раза, чтобы проверить, поэтому я сразу вбил все 3.
После этого надо перезагрузиться, чтобы проверить эффект. Синенький индикатор wifi должен загораться и гаснуть при нажатии на кнопку. Если так и происходит, то можно порадоваться, половина дела сделана. Если ваша wifi сеть открытая, без всяких ключей шифрования, то делать больше почти ничего не придется.
Но если вам не повезло, то приступайте ко второй части - настройке wpa_supplicant.

Для начала его необходимо установить стандартным образом

yum install wpa_supplicant

Запускается он у меня командой

wpa_supplicant -Dwext -c /etc/wpa_supplicant.conf -iwlan0 -d

wpa_supplicant.conf представляет собой следующее:

network=
{
psk="my_psk"
scan_ssid=1
ssid="triklozoid_wlan"
}

И когда wpa_supplicant запущен, я поднимаю соединение командой

ifup wlan0

После этого все начинает работать. Некоторые параметры просто подбраны подстановкой от балды всех возможных вариантов, "пока не заработает". Например, при запуске wpa_supplicant параметр -Dwext. Мануал говорит, что с драйвером ndisrapper необходимо использовать одноименный драйвер для wpa_supplicant. Но, по абсолютно не понятной мне причине, с ним ничего не работает, а вот когда пропишешь -Dwext, работает. Остальные взяты из различных статей по настройке.

Ссылки по этой тебе:

www.opennet.ru
noc.ifmo.ru
http://silinio.webhost.ru
http://www.ampersand.com/
http://datenroulette.de/


Продолжение...