неділю, 15 травня 2016 р.

Orange Pi PC, RTL8188, HostAP

Сьогодні, нарешті, запустив АР з rtl8192cu:

Маю wifi-модуль:

# lsusb
Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 002: ID 0bda:8176 Realtek Semiconductor Corp. RTL8188CUS 802.11n WLAN Adapter
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

  1. Витягнув Armbian-у http://www.armbian.com/download образ з Debian Jessie;
  2. Записав на карту;
  3. НАРЕШТІ ПРОЧИТАВ доку )) - http://www.armbian.com/documentation/ а саме розділи: How to build a wireless driver? та How to set wireless access point?
    1. Створити необхідні скрипти (без цього не знаходить recordmcount)

      cd /usr/src/linux-headers-$(uname -r)
      make scripts
    2. Створити копію сирців драйверу:

      cd /srv
      git clone https://github.com/pvaret/rtl8192cu-fixes.git
      cd rtl8192cu-fixes
      make ARCH=arm
      Не забути встановити драйвери:

      make install
    3. Прочитати доку до сирців, а саме "відключення типових драйверів":

      cp ./rtl8192cu-fixes/blacklist-native-rtl8192.conf /etc/modprobe.d/
      Про всяк випадок скористався й відключенням керування живлення:

      cp ./rtl8192cu-fixes/8192cu-disable-power-management.conf /etc/modprobe.d/
    4. Перезапустився reboot.
    5. Тепер wifi-модуль визначився так, як потрібно:

      # iwconfig wlan0
      wlan0 unassociated Nickname:"<WIFI@REALTEK>"
      Mode:Auto Frequency=2.412 GHz Access Point: Not-Associated
              Sensitivity:0/0
              Retry:off RTS thr:off Fragment thr:off
              Encryption key:off
              Power Management:off
              Link Quality=0/100 Signal level=0 dBm Noise level=0 dBm
              Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
              Tx excessive retries:0 Invalid misc:0 Missed beacon:0
    6. Потім ще почитав доку:
      Realtek binary and configuration location:
      /usr/sbin/hostapd-rt
      /etc/hostapd.conf-rt
      1. Edit /etc/init.d/hostapd and add/alter location of your conf file [b]DAEMON_CONF=/etc/hostapd.conf[/b] and binary [b]DAEMON_SBIN=/usr/sbin/hostapd[/b]
      2. Link /etc/network/interfaces.hostapd to /etc/network/interfaces
      3. Reboot
      Напевно, можна просто перейменувати *-rt, але я пішов "складнішим" шляхом і, як радять, відредагував файли:

      /etc/init.d/hostapd:
      DAEMON_SBIN=/usr/sbin/hostapd-rt
      DAEMON_DEFS=/etc/default/hostapd
      DAEMON_CONF=/etc/hostapd/hostapd.conf-rt

      /etc/default/hostapd:
      DAEMON_CONF="/etc/hostapd/hostapd.conf-rt"
    7. Єдине, що зробив не так, як у доці - то "відкинув" місток br0:

      /etc/network/interfaces:
      # Local loopback
      auto lo
      iface lo inet loopback
      
      
      auto eth0
      iface eth0 inet dhcp

      auto wlan0
      iface wlan0 inet static
          address 192.168.3.1
          netmask 255.255.255.0


      /etc/hostapd/hostapd.conf-rt:
      ssid=maz420
      interface=wlan0
      ctrl_interface=/var/run/hostapd
      channel=7
      noscan=1
      wpa=2
      wpa_passphrase=12345678
      #bridge=br0
      wmm_enabled=0
      #driver=rtl871xdrv
      beacon_int=100
      hw_mode=g
      ieee80211n=1
      wme_enabled=1
      ht_capab=[SHORT-GI-40][HT40+][HT40-][DSSS_CCK-40]
      wpa_key_mgmt=WPA-PSK
      wpa_pairwise=CCMP
      max_num_sta=8
      wpa_group_rekey=86400
    8. Бо потрібно було встановити "роздачу" адрес dnsmasq-ом.

      /etc/dnsmasq.conf
      interface=wlan0
      dhcp-range=192.168.3.100,192.168.3.150,12h
      no-resolv
      server=8.8.8.8
      server=8.8.4.4

      /etc/rc.local:
      iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

      /etc/sysctl.conf
      # Uncomment the next line to enable packet forwarding for IPv4
      net.ipv4.ip_forward=1

    9. здається все - ще раз коротко - встановити нові драйвери, заблокувати старі драйвери, перейменувати файли *-rt.