LINUX.ORG.RU

D-Link DWA-525 поддержка ядром 3.12.х


0

1

Всем здраствуйте! Задумал заменить шлюз на работе, в котором преспокойно работала карточка D-Link DWA-525 (на чипе Ralink RT3060) в режиме точки доступа. На старом шлюзе стоит Ubuntu GNU/Linux 12.04 (server), ядро 3.2.0-60-generic-pae (из каробки ядро, не самосбор), использовался модуль ядра rt2800pci. Подключаю карту к другому компу, там Gentoo GNU/Linux, ядро 3.12.21-gentoo-r1 (естественно самосбор), дела все по Gentoo-Wiki, а именно,

[*] Networking support  --->
    [*] Wireless  --->
        <*> cfg80211 - wireless configuration API
        <*> Generic IEEE 802.11 Networking Stack (mac80211)

    Device Drivers  --->
    [*] Network device support  --->
        [*] Wireless LAN  --->

            Select the driver for your Wifi network device, e.g.:
            <*> Ralink driver support  --->
                <*>   Ralink rt27xx/rt28xx/rt30xx (PCI/PCIe/PCMCIA)
Все остальные беспроводные устройства отключены (может зря?) Набираю ip addr, не вижу беспроводного тырфейса, то же самое (ну надо пологать) ifconfig -a. Собираю поддержку устройства модулем - та же история. Вот что говорит lspci
00:08.0 Network controller: Ralink corp. RT3060 Wireless 802.11n 1T/1R
	Subsystem: D-Link System Inc DWA-525 Wireless N 150 Desktop Adapter (rev.A1)
в dmesg ни одного упоминания о моей карте. Зато на Ubuntu все работало, вот выдержка из dmesg'а
[   22.600857] rt2800pci 0000:02:05.0: PCI INT A -> Link[LNKB] -> GSI 5 (level, low) -> IRQ 5
[   22.910648] Registered led device: rt2800pci-phy0::radio
[   22.960186] Registered led device: rt2800pci-phy0::assoc
[   22.964568] Registered led device: rt2800pci-phy0::quality
Знаю, что поддержка данного устройства была включена в ядро аж с версии 2.6.38 (если верить этому). Что же я делаю не так?


Если iw phy0 info показывает информацию, то всё нормально. Нужно просто сделать iw phy0 interface add wlan0 type ... И потом запустить hostapd. Если phy0 нет в системе, возможно, проблема в linux-firmware, которую нужно доустановить в систему.

nickleiten ★★★
()
Ответ на: комментарий от nickleiten

Спасибо

Спасибо за совет, iw phy0 info ничего кроме help'a не выдает (скорее всего с ядром намудрил). В Gentoo SysRescue CD все заработало, сейчас пересобираю ядро с конфигом от SysRescue (в настройках, касаемых сети, только нужное статически собираю, все остальное как в оригинальном конфиге), должно получиться.

OEvg85
() автор топика

lsmod в студию, это раз. Во вторых должна быть установлена прошивка для твоей платы.

daemonpnz ★★★★★
()
Ответ на: комментарий от daemonpnz

Забыл написать, что модуль в ядро был вкомпилирован статично (lsmod ничего интересного бы не сказал, это раз), linux-firmware установлен (это два), с кернел-конфигом от SysRescue CD все заработало (это три). lspci -k показывает, что используется модуль rt2800pci, udev определил устройство как wlp0s8. I'm happy. Кстати, у кого какие соображения по поводу кернел-конфига для тырнет-шлюза. Лучше поддержку всех устройств включать или повырубать нафиг все, оставить только нужное?

OEvg85
() автор топика
Ответ на: комментарий от OEvg85

Настриваю теперь Access Point на этой карте и опять наскочил на грабли, hostapd настроил, мост с провондным интерфейсом организовал, опять же опираясь на рекомендации рукокниги и генту-вики. Удалось добиться толко, чтобы беспроводные устройства у меня эту точку видели, но пр попытке подключиться не удается получить ip-адресс от dnsmasq. Конфиги прилагаю. /etc/conf.d/net

modules_enp0s18="iproute2" 
config_enp0s18="192.168.0.250 netmask 255.255.255.0 broadcast 192.168.0.255"
routes_enp0s18="default via 192.168.0.1"
dns_servers_eth0="192.168.0.1 82.195.28.130 84.254.192.5"

bridge_br0="wlp0s8 enp0s9"
config_br0="10.10.10.1 netmask 255.255.255.0 broadcast 10.10.10.255"
modules_wlp0s8="!iwconfig !wpa_supplicant"
rc_net_br0_need="net.enp0s9 net.wlp0s8"
brctl_br0="setfd 0
sethello 10
stp off"

preup() {
	if [ ${IFACE} == "wlp0s8" ]; then
		iw dev wlp0s8 set 4addr on
		return 0
	fi
return 0
}
/etc/hostapd/hostapd.conf
interface=wlp0s8
bridge=br0
driver=nl80211
logger_syslog=-1
logger_syslog_level=2
logger_stdout=-1
logger_stdout_level=2
dump_file=/tmp/hostapd.dump
ctrl_interface=/var/run/hostapd
ctrl_interface_group=0
ssid=NTKI-INET
hw_mode=g
channel=1
beacon_int=100
dtim_period=2
max_num_sta=255
rts_threshold=2347
fragm_threshold=2346
macaddr_acl=0
auth_algs=3
ignore_broadcast_ssid=0
wmm_enabled=1
wmm_ac_bk_cwmin=4
wmm_ac_bk_cwmax=10
wmm_ac_bk_aifs=7
wmm_ac_bk_txop_limit=0
wmm_ac_bk_acm=0
wmm_ac_be_aifs=3
wmm_ac_be_cwmin=4
wmm_ac_be_cwmax=10
wmm_ac_be_txop_limit=0
wmm_ac_be_acm=0
wmm_ac_vi_aifs=2
wmm_ac_vi_cwmin=3
wmm_ac_vi_cwmax=4
wmm_ac_vi_txop_limit=94
wmm_ac_vi_acm=0
wmm_ac_vo_aifs=2
wmm_ac_vo_cwmin=2
wmm_ac_vo_cwmax=3
wmm_ac_vo_txop_limit=47
wmm_ac_vo_acm=0
ieee8021x=0
eapol_key_index_workaround=0
eap_server=0
own_ip_addr=127.0.0.1
wpa=3
wpa_psk_file=/etc/hostapd/hostapd.wpa_psk
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP CCMP
/etc/dnsmasq.conf
server=82.195.28.130
server=84.254.192.5
interface=br0
listen-address=127.0.0.1,10.10.10.1
dhcp-range=10.10.10.10,10.10.10.100,12h
dhcp-option=option:router,10.10.10.1
Ничего из того, что в тырнете нашел не помогает. И еще, фирмавръ с сайта MediaTek'a подкидывал, не помогло. ЗЫ. заранее спасибо :)

OEvg85
() автор топика
Ответ на: комментарий от OEvg85

Уууф, точка заработала. На wireless.kernel.org нашел мануал по iw и рекомендации, по настройке AP. Не знаю, насколько это правильно, отредактировал в /etc/conf.d/net соответствующую секцию

preup() {
        if [ ${IFACE} == "wlp0s8" ]; then
                iw dev wlp0s8 del
                iw phy phy0 interface add wlp0s8 type managed 4addr on
                return 0
        fi
        return 0
}
Статикой IP в настройках клиента указываю, все работает, dnsmasq же роль DNS-форвардера выполняет, а адреса раздает только проводным устройствам. Как быть?

OEvg85
() автор топика
Ответ на: комментарий от anonymous

listen убирал из конфига (на forum.ubuntu.ru был подобный совет), руками перезапускал dnsmasq после старта системы, ничего не изменилось. Подозрительные сообщения в кёрнел-логах имеются. Когда подключаюсь через провод, в логи попадает port 1 br0 enp0s9, когда через wireless, в логах просматривается hostapd wlp0s8, а не порт бриджа. Ощущение такое, как будто либо мост работает неправильно (было подозрение на неверный кернел-конфиг) либо hostapd интерфейс в мост включает, а работает все равно с wlp0s8. Еще один момент замечен, через провод самба работает, а через wireless - не хочет. Ах да, отключение аппаратного шифрования тоже не помогло. На всякий случай tcpdump и kernel-config, ну и как же без kernel-log.
Viele Dank всем откликнувшимся :)

OEvg85
() автор топика
Ответ на: комментарий от OEvg85

забыл про ebtables

ebtables rules

# Generated by ebtables-save v1.0 on Вс авг 17 03:06:49 YEKT 2014
*filter
:INPUT ACCEPT
:FORWARD ACCEPT
:OUTPUT ACCEPT
-A INPUT -s 1c:bd:b9:8e:27:10 -i wlp0s8 -j ACCEPT
-A FORWARD -s 1c:bd:b9:8e:27:10 -i wlp0s8 -j ACCEPT
-A OUTPUT -d 1c:bd:b9:8e:27:10 -o wlp0s8 -j ACCEPT

*nat
:PREROUTING ACCEPT
:OUTPUT ACCEPT
:POSTROUTING ACCEPT
-A POSTROUTING -o wlp0s8 -j snat --to-src 1c:bd:b9:8e:27:10 --snat-target ACCEPT

*broute
:BROUTING ACCEPT

OEvg85
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.