LINUX.ORG.RU

Раздать и-нет по wi-fi с ноутбука

 ,


0

1

Возникло желание раздавать инет по wi-fi с ноутбука для устройств на андроиде. В интернете много haw-to по этому, но те что мне попадались писались либо для убунты, а значит для гнома, либо исключали использование network manager'a. У меня же нет ни гнома, да и стандартный NM меня в полне устраивает. Наткнулся на этот мануал написанный как раз для сюси, да и модель ноутбука почти такая же как и у меня. Дошел до пункта

Заходим в Yast -> Сетевые устройства выбираем свою WiFi карту и присваиваем ей адрес 10.15.15.1/255.255.255.0

и не осилил... У меня при входе в Yast -> Сетевые устройстванастройки выдает сообщение следующего содержания: http://storage8.static.itmages.ru/i/13/0427/h_1367087933_6918159_d41d8cd98f.png

После чего любая возможность изменения там чего-либо становится недоступной: http://storage1.static.itmages.ru/i/13/0427/h_1367088056_6785978_d41d8cd98f.png

В общем, нужен совет сюсеводов по решению данной проблемы.

Альтернативные, более простые способы раздачи wi-fi с ноутбука, тоже приветствуются.



Последнее исправление: cetjs2 (всего исправлений: 3)

Ответ на: комментарий от Dnmt

Есть проги чтобы Андрюша тоже видел эти сети, но купил роутер)

pkurg ★★★★
()
Последнее исправление: pkurg (всего исправлений: 1)

Для начала неплохо бы узнать, поддерживает ли вообще драйвер режим точки доступа командой iw list. В выводе нужно найти секцию «Supported interface modes». Если там нет master, то выполнять любые инструкции бесполезно, нужно посмотреть, есть ли другие модули ядра, поддерживающие данную карту, и поддерживают ли они master mode (http://wireless.kernel.org/).

Если нет таких, то максимум, что можно сделать — поднять ad-hoc соединение и на рутованном девайсе изменить конфиг wi-fi, чтобы он видел такие сети. Если повезет, будет работать. И да, WPA в ad-hoc режиме не поддерживается из-за каких-то багов в ядре.

BlackHawk
()

Тоже как-то ради спортивного интереса поставил себе такую же задачу: дать WiFi с ноута на Android. Провернул всё дедовскими методами =)

1. Убеждаюь, что карточка включена аппаратно (RFKILL, комбинация клавишь на клаве);

2. Поднимаю интерфейс, даю ip (например, 10.0.0.1/8);

3. Настраиваю netfilter(iptables) под NAT;

4. Скорее всего основное соединение - какой-нибудь VPN, поэтому нужно уменьшить MTU: правило iptables или прямо на интерфейсе выставить (Хорошо, что с MTU Black Hole столкнулся раньше, а то бы мозг вынесло 100%);

5. Запускаю hostapd, предварительно поправив конфиг;

6. Поднимаю dhcp-сервер, который смотрит в wifi-интерфейс, себя (10.0.0.1) даю шлюзом, 8.8.8.8 как DNS, а клиентам адреса из подсети 10.0.0.0/8.

Как-то так! =)

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

Конфиг dnsmasq дефолтным пойдет?

#Name:Default
#Type:DNSMASQ
interface=wlan0
dhcp-range=192.168.0.2,192.168.0.255,1h
server=/www.google.com/8.8.8.8
Скрипт правильно поправил? http://paste.org.ru/?augw93 После перезагрузки лампочка wi-fi загорается, но андроид сеть вообще не видит. Судя по отписавшемуся выше юзеру дело в драйвере.

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

Вот такой выхлоп:

# ./hostapd-based_access_point start
Starting AP mode for wlan0 at address 192.168.0.1
WARNING: The state match is obsolete. Use conntrack instead.
touch: невозможно выполнить touch для «/var/lib/dhcp/db/dhcpd.leases»: Нет такого файла или каталога

dnsmasq: bad command line options: try --help
Configuration file: /etc/hostapd.conf
Using interface wlan0 with hwaddr 5c:ac:4c:8a:a0:fe and ssid 'Wi-Fi'
В случае с dnsmasq не знаю на что заменить файл dhcpd.leases и для чего он вообще нужен. Андроид сеть не видел из-за того что в hostapd.conf пароль поставил из шести символов, а нужно минимум из восьми. В остальном симптомы прежние: андроид видит сеть, но при подключении к ней висит на надписи «Получение IP-адреса» и на ноуте после запуска скрипта отваливается интернет, то есть NM как бы показывает что интернет есть, а браузер говорит об обратном.

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

в скрипте поправь: /var/db/dnsmasq.leases

if [ ! -f  /var/db/dnsmasq.leases ]; then
    touch  /var/db/dnsmasq.leases
fi
$DNSMASQ -C /etc/dnsmasq.conf $NET_INT
с NM скорее всего он работать не будет. у меня все через ifup

registrant ★★★★★
()
Последнее исправление: registrant (всего исправлений: 1)
Ответ на: комментарий от registrant

Стало так:

# ./hostapd-based_access_point start
Starting AP mode for wlan0 at address 192.168.0.1
WARNING: The state match is obsolete. Use conntrack instead.
touch: невозможно выполнить touch для «/var/db/dnsmasq.leases»: Нет такого файла или каталога

dnsmasq: junk found in command line
Configuration file: /etc/hostapd.conf
Using interface wlan0 with hwaddr 5c:ac:4c:8a:a0:fe and ssid 'Wi-Fi'
Все равно андроид не подключается к сети. Попробовал убрать пароль в hostapd.conf, после этого андроид при попытке подключения к сети стал писать «Аутентификация...», после чего отключается.

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

поищи, где этот leases лежит, м. б. тут:

/var/lib/dnsmasq/dnsmasq.leases

еще давай выхлоп ifconfig и, если wlan поднимется, wireshark`ом посмотри, выдается ли ip

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

ifconfig после запуска скрипта

# ifconfig
eth0      Link encap:Ethernet  HWaddr 88:AE:1D:DB:1C:E9  
          inet addr:192.168.0.76  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::8aae:1dff:fedb:1ce9/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:929 errors:0 dropped:0 overruns:0 frame:0
          TX packets:897 errors:0 dropped:0 overruns:0 carrier:1
          collisions:0 txqueuelen:1000 
          RX bytes:1102018 (1.0 Mb)  TX bytes:84830 (82.8 Kb)
          Interrupt:45 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:127 errors:0 dropped:0 overruns:0 frame:0
          TX packets:127 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:9103 (8.8 Kb)  TX bytes:9103 (8.8 Kb)

mon.wlan0 Link encap:UNSPEC  HWaddr 5C-AC-4C-8A-A0-FE-3A-30-00-00-00-00-00-00-00-00  
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:664 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:208556 (203.6 Kb)  TX bytes:0 (0.0 b)

wlan0     Link encap:Ethernet  HWaddr 5C:AC:4C:8A:A0:FE  
          inet addr:192.168.0.1  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::5eac:4cff:fe8a:a0fe/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:20 errors:0 dropped:0 overruns:0 frame:0
          TX packets:68 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:2700 (2.6 Kb)  TX bytes:9507 (9.2 Kb)
Не знаю я как с этим wireshark'ом работать, вот скрин: http://s2.ipicture.ru/uploads/20130516/EYX9XCUk.png

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

выбери wlan0 и нажми start. eth0 - это внешняя сеть? стоп, у тебя 2 подсети 192.168.0, это неправильно. сделай wlan 192.168.1.1, например

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

eth0 это внешняя сеть от проводного интернета. mon.wlan0 сама по себе появляется, предположительно после запуска скрипта. Как ее убрать? И как сделать 192.168.1.1, например?

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

Поправил конфиг так:

#Name:Default
#Type:DNSMASQ
interface=wlan0
dhcp-range=192.168.1.2,192.168.1.255,1h
server=/www.google.com/8.8.8.8
# ifconfig
eth0      Link encap:Ethernet  HWaddr 88:AE:1D:DB:1C:E9  
          inet addr:192.168.0.76  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::8aae:1dff:fedb:1ce9/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:597 errors:0 dropped:0 overruns:0 frame:0
          TX packets:482 errors:0 dropped:0 overruns:0 carrier:1
          collisions:0 txqueuelen:1000 
          RX bytes:754330 (736.6 Kb)  TX bytes:63424 (61.9 Kb)
          Interrupt:45 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:131 errors:0 dropped:0 overruns:0 frame:0
          TX packets:131 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:9303 (9.0 Kb)  TX bytes:9303 (9.0 Kb)

mon.wlan0 Link encap:UNSPEC  HWaddr 5C-AC-4C-8A-A0-FE-3A-30-00-00-00-00-00-00-00-00  
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:42 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:14406 (14.0 Kb)  TX bytes:0 (0.0 b)

wlan0     Link encap:Ethernet  HWaddr 5C:AC:4C:8A:A0:FE  
          inet addr:192.168.1.1  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::5eac:4cff:fe8a:a0fe/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:72 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 b)  TX bytes:17107 (16.7 Kb)
Теперь после запуска скрипта из консоли, не пропадает интернет. Но андроид все так же не хочет подключаться. В конфиге hostapd тоже самое что и у тебя, менял только строчку 'ssid='.

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

И еще когда андроид находит сеть, то пишет «Сохранено, защищено с помощью WPA/WPA2 PSK», хотя строчка с паролем в hostapd.conf закомментирована. Возможно причина в hostapd?

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

Добавь тег «opensuse» - я тоже буду пользоваться этими советами.

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

ты давай поменьше эмоций, побольше логов ) скинь, что там wireshark кажет, а то я в хрустальный шар не вижу ничего

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

Я же кидал скрин с главным окном проги. А что там конкретно в wireshark'е нужно делать и скринить я не знаю.

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

это херь какая-то, не обращфй внимания. ты телефон включи, пусть сеть поищет. там при включении вайфая на телефоне должны появиться пакеты ARP, DHCP. попробуй еще выбрать mon.wlan0, но по-моему просто wlan0

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

Поставил dhcpd-server.

dhcpd.conf: http://paste.org.ru/?48m6wc

hostapd.conf: http://paste.org.ru/?ydyo33

скрипт для запуска/остановки: http://paste.org.ru/?ml49hh

С этими конфигами даже подключается.

# ./hostapd-based_access_point start
Starting AP mode for wlan0 at address 192.168.0.1
WARNING: The state match is obsolete. Use conntrack instead.
Internet Systems Consortium DHCP Server 4.2.4-P2
Copyright 2004-2012 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/
Not searching LDAP since ldap-server, ldap-port and ldap-base-dn were not specified in the config file
Wrote 1 leases to leases file.
Multiple interfaces match the same subnet: eth0 wlan0
Multiple interfaces match the same shared network: eth0 wlan0
Listening on LPF/wlan0/5c:ac:4c:8a:a0:fe/192.168.0.0/24
Sending on   LPF/wlan0/5c:ac:4c:8a:a0:fe/192.168.0.0/24
Sending on   Socket/fallback/fallback-net
Configuration file: /etc/hostapd.conf
Using interface wlan0 with hwaddr 5c:ac:4c:8a:a0:fe and ssid 'Wi-Fi'
но интернета на андроиде нету, то есть антенки wi-fi показывают что он есть, но на деле его нету. И бывает что на ноуте инет снова отваливается.

http://s2.ipicture.ru/uploads/20130520/hWQE4xvO.png

http://s2.ipicture.ru/uploads/20130520/Ld6BZ3Ry.png

http://s2.ipicture.ru/uploads/20130520/15jLw1RM.png

Dnmt
() автор топика
Ответ на: комментарий от registrant
# ifconfig
eth0      Link encap:Ethernet  HWaddr 88:AE:1D:DB:1C:E9  
          inet addr:192.168.0.76  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::8aae:1dff:fedb:1ce9/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:11572 errors:0 dropped:0 overruns:0 frame:0
          TX packets:10833 errors:0 dropped:0 overruns:0 carrier:1
          collisions:0 txqueuelen:1000 
          RX bytes:14327005 (13.6 Mb)  TX bytes:2012223 (1.9 Mb)
          Interrupt:45 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:595 errors:0 dropped:0 overruns:0 frame:0
          TX packets:595 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:74691 (72.9 Kb)  TX bytes:74691 (72.9 Kb)

mon.wlan0 Link encap:UNSPEC  HWaddr 5C-AC-4C-8A-A0-FE-3A-30-00-00-00-00-00-00-00-00  
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:8 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:2744 (2.6 Kb)  TX bytes:0 (0.0 b)

wlan0     Link encap:Ethernet  HWaddr 5C:AC:4C:8A:A0:FE  
          inet addr:192.168.0.1  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::5eac:4cff:fe8a:a0fe/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:300 errors:0 dropped:0 overruns:0 frame:0
          TX packets:744 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:28194 (27.5 Kb)  TX bytes:135772 (132.5 Kb)
Dnmt
() автор топика
Ответ на: комментарий от registrant

В общем, причину не выявил, пару раз при тестировании скрипта интернет на ноуте отваливался, а было что и не отваливался, но увидеть инет на андроиде, не считая антеннок, так и не получилось в обоих случаях.

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

у тебя опять 2 подсети 192.168.0, сделай wlan0 192.168.1

dhcpd.conf:

subnet 192.168.1.0 netmask 255.255.255.0 {
  range 192.168.1.200 192.168.1.229;
  option domain-name-servers 8.8.8.8;
  option routers 192.168.1.1;
}

в скрипте поправить:

INT_ADDR=192.168.1.1

registrant ★★★★★
()
Последнее исправление: registrant (всего исправлений: 1)
Ответ на: комментарий от registrant

Да, забыл поправить эту строчку после того как установил dhcpd-server, просто скопировал конфиг из пасты и не проверил. Wi-fi на андроиде появился. Но после рестарта системы автоматически ничего не появляется, приходится запускать скрипт вручную. Видимо скрипт запускается раньше чем NM поднимает соединение. Как сделать задержку запуска скрипта или его запуск после того NM поднимет соединение?

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

Я туда его и запихал с самого начала. А курить маны времени нету.

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

ну воткни его в /etc/init.d/network (с параметром start в конце того места, где сеть поднимается и с параметром stop где гасится). или посмотри как тот же /etc/init.d/network устроен, добавь спец. комментарии и потом insserv.

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

Добавлял в начало спецкомментарии

#!/bin/sh
### BEGIN INIT INFO
# Provides:          hostapd-based access point
# Required-Start:    $remote_fs $network $syslog $named $all
# Required-Stop:     $remote_fs $network $syslog $named $all
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: hostapd
# Description:       hostapd
### END INIT INFO
изменений не получил.

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