お知らせ

  • 利用規約を守って投稿してください。また、よくある質問および投稿の手引きも参照してください。
  • メッセージの投稿にはアカウントが必要です。未登録の方は、ユーザ登録ページからアカウントを作成することができます。

#1 2015-03-14 18:45:33

Beats
メンバ
登録日: 2015-03-14

Planex GW-450SのLinuxドライバーのコンパイルとインストール

Planex GW-450Shttp://www.planex.co.jp/products/gw-450s/は無線子機で、こちらhttp://www.planex.co.jp/support/downloa … inux.shtmlからLinux用のドライバーのソースコードrtl8811AU_linux_v4.2.4_9533.20131209.tar.gzとドキュメントが入ったgw-450s_driver_linux_v424.zipがダウンロードできます。

ソースコードはビルドできませんが、rtl8811auというチップセットを使っていることがわかります。

コンパイル環境についても、たくさんのドキュメントが入っていますが、説明はありません。

xubuntu-14.10-desktop-i386.isoインストール後の状況からはlinux-headers-genericが必要だと、他のサイトでしりました。

コード:

sudo apt-get install linux-headers-generic

ビルドについては、こちらhttps://lists.fedoraproject.org/piperma … 57289.htmlを参考にし、うまくインストールまでできました。

コード:

$ git clone https://github.com/abperiasamy/rtl8812AU_8821AU_linux.git
$ cd rtl8812AU_8821AU_linux/
$ make
$ sudo mkdir cp 8812au.ko /lib/modules/$(uname -r)/updates/    <--make install でも良いのかも
$ sudo cp 8812au.ko /lib/modules/$(uname -r)/updates/

あとdepmodでmodules.depとmapファイルを作り、modprobeでカーネルに組み込み。

コード:

$ sudo depmod
$ sudo modprobe -v 8812au

lsmodで8812auが表示されます。

オフライン

 

#2 2015-03-14 19:37:47

Beats
メンバ
登録日: 2015-03-14

Re: Planex GW-450SのLinuxドライバーのコンパイルとインストール

ここからがHotplugでの認識とかある(今、挿入してもsyslogにはplanexと製造者は表示されても8812auをロードしてくれない)としても、先にネットワークとして認識させたいのですが、認識されません。

本件は個人的に自分のノートパソコンがWifi接続できないXubuntu 14.10でのau HOME SPOT CUBEへの設定ができないhttps://forums.ubuntulinux.jp/viewtopic.php?id=17381から派生したものですので、Hotplugよりも先に、ネットワーク接続を優先します。

オフライン

 

#3 2015-03-14 19:49:19

Beats
メンバ
登録日: 2015-03-14

Re: Planex GW-450SのLinuxドライバーのコンパイルとインストール

OS起動時に8812auを組み込むために/etc/modulesに8812auを追加します。

コード:

# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.

8812au

これで再起動するとOS起動時に8812auを組み込んでくれます。

余談ですが、なぜか最初に編集して再起動した時には、lsmodで確認しても存在せず、dmesgでも次のようなエラーが起こっていて、組み込みを失敗していたのですが、いつの間にかちゃんと組み込まれるようになりました。

コード:

error 8812au: module verification failed: signature and/or required  key missing - tainted kernel

オフライン

 

#4 2015-03-14 19:52:27

Beats
メンバ
登録日: 2015-03-14

Re: Planex GW-450SのLinuxドライバーのコンパイルとインストール

このような経緯で、カーネルモジュールの組み込みまではできたのですが、ifconfigでインターフェースが見つかりません。

このまま調査を続けますが、もしご存知の方がいらっしゃったら、書き込みお願いします。

オフライン

 

#5 2015-03-15 01:11:42

Beats
メンバ
登録日: 2015-03-14

Re: Planex GW-450SのLinuxドライバーのコンパイルとインストール

今現状は、インストール後、モジュールを組み込んでもネットワークインターフェースが見えないというところで、Rtl8812au not workhttp://ubuntuforums.org/showthread.php?t=2264741を追ってみたいと思います。

本来ならwlan1が見えなければならないのだと思ってます。

コード:

$ifconfig 
lo        no wireless extensions.

eth0      no wireless extensions.

wlan0     IEEE 802.11bg  ESSID:off/any  
          Mode:Managed  Access Point: Not-Associated   Tx-Power=20 dBm   
          Retry short limit:7   RTS thr:off   Fragment thr:off
          Power Management:off

オフライン

 

#6 2015-03-15 01:40:11

Beats
メンバ
登録日: 2015-03-14

Re: Planex GW-450SのLinuxドライバーのコンパイルとインストール

本家フォーラムを参照すると、wlan1が認識されないのは、lsusbの出力IDがmodinfoの出力aliasと食い違っているからっぽい。

自分の場合だとlsusbの出力のID 2019:ab32が modinfoのaliasのフォーマットでusb:v2019pAB32dが無いといけないのに、無い。

だから認識されないらしい。

lsusbの出力

コード:

Bus 001 Device 003: ID 2019:ab32 PLANEX 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 002: ID 0483:2016 STMicroelectronics Fingerprint Reader
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

modinfo 8812auの出力

コード:

filename:       /lib/modules/3.16.0-23-generic/kernel/drivers/net/wireless/8812au.ko
version:        v4.2.2_7502.20130517
author:         Realtek Semiconductor Corp.
description:    Realtek Wireless Lan Driver
license:        GPL
srcversion:     9F9B0A6559B4929E69AFE55
alias:          usb:v0411p0242d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v0846p9052d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v2001p3314d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v7392pA812d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v7392pA811d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v0BDAp8822d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v0BDAp0821d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v0BDAp0811d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v0BDAp8812d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v2357p0101d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v13B1p003Fd*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v20F4p805Bd*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v2001p3316d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v2001p3315d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v07B8p8812d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v2019pAB30d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v1740p0100d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v1058p0632d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v2001p3313d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v0586p3426d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v0E66p0022d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v0B05p17D2d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v0409p0408d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v0789p016Ed*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v04BBp0952d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v0DF6p0074d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v7392pA822d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v2001p330Ed*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v050Dp1109d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v0BDAp881Cd*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v0BDAp881Bd*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v0BDAp881Ad*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v0BDAp8812d*dc*dsc*dp*ic*isc*ip*in*
depends:        cfg80211
vermagic:       3.16.0-23-generic SMP mod_unload modversions 686 
parm:           rtw_ips_mode:The default IPS mode (int)
parm:           rtw_regulatory_id:int
parm:           ifname:The default name to allocate for first interface (charp)
parm:           if2name:The default name to allocate for second interface (charp)
parm:           rtw_initmac:charp
parm:           rtw_channel_plan:int
parm:           rtw_chip_version:int
parm:           rtw_rfintfs:int
parm:           rtw_lbkmode:int
parm:           rtw_network_mode:int
parm:           rtw_channel:int
parm:           rtw_mp_mode:int
parm:           rtw_wmm_enable:int
parm:           rtw_vrtl_carrier_sense:int
parm:           rtw_vcs_type:int
parm:           rtw_busy_thresh:int
parm:           rtw_ht_enable:int
parm:           rtw_bw_mode:int
parm:           rtw_ampdu_enable:int
parm:           rtw_rx_stbc:int
parm:           rtw_ampdu_amsdu:int
parm:           rtw_vht_enable:int
parm:           rtw_lowrate_two_xmit:int
parm:           rtw_rf_config:int
parm:           rtw_power_mgnt:int
parm:           rtw_smart_ps:int
parm:           rtw_low_power:int
parm:           rtw_wifi_spec:int
parm:           rtw_antdiv_cfg:int
parm:           rtw_antdiv_type:int
parm:           rtw_enusbss:int
parm:           rtw_hwpdn_mode:int
parm:           rtw_hwpwrp_detect:int
parm:           rtw_hw_wps_pbc:int
parm:           rtw_max_roaming_times:The max roaming times to try (uint)
parm:           rtw_mc2u_disable:int
parm:           rtw_80211d:Enable 802.11d mechanism (int)
parm:           rtw_notch_filter:0:Disable, 1:Enable, 2:Enable only for P2P (uint)

オフライン

 

#7 2015-03-15 02:50:43

Beats
メンバ
登録日: 2015-03-14

Re: Planex GW-450SのLinuxドライバーのコンパイルとインストール

とりあえず、rfkill list allでインターフェースを認識するようになったので、そこまでの経緯を書きます。

rfkill list allの出力(今まではphy0しか見えなかった)

コード:

0: phy0: Wireless LAN
    Soft blocked: no
    Hard blocked: no
1: phy1: Wireless LAN
    Soft blocked: no
    Hard blocked: no

方法は8812auのドライバーのソースに変更を加えて再ビルドしました。
以下がその詳細です。

8812auのドライバーのソースrtl8812AU_8821AU_linux/os_dep/linux/usb_intf.c内に次の行があります。

コード:

{USB_DEVICE(0x2019, 0xAB30),.driver_info = RTL8812}, /* Planex - Abocom */

この行をコピーして次の行に貼り付け、0xAB30の部分を0xAB32に変更し、次のようにします。

コード:

{USB_DEVICE(0x2019, 0xAB30),.driver_info = RTL8812}, /* Planex - Abocom*/
{USB_DEVICE(0x2019, 0xAB32),.driver_info = RTL8812}, /* Planex - Abocom */

これで次のようにビルド、インストールしてください。(最初にmake installではなく、cpを使った人はcpを使ってください)

コード:

$ make clean     (念のため書いておきます)
$ make  
$ sudo make install 
$ sudo modprobe -v 8812au

これでUSBをさした時点でHotplugで自動認識し、8812auモジュールを組み込むようになりました。
でも、まだifconfigでは見えません。

オフライン

 

#8 2015-03-15 11:21:24

Beats
メンバ
登録日: 2015-03-14

Re: Planex GW-450SのLinuxドライバーのコンパイルとインストール

とりあえずath5kと8812auが混在している環境だと設定がわかりにくいので、ath5kをblacklistに入れて、ロードしないようにする。
/etc/modprobe/blacklist.confに次の行を加える。

コード:

blacklist ath5k

オフライン

 

#9 2015-03-15 11:53:12

Beats
メンバ
登録日: 2015-03-14

Re: Planex GW-450SのLinuxドライバーのコンパイルとインストール

ArchLinuxのWireless network configurationhttps://wiki.archlinux.org/index.php/Wi … figurationがわかりやすい。
まずWEPの接続から試してみる。

オフライン

 

#10 2015-03-15 12:46:25

Beats
メンバ
登録日: 2015-03-14

Re: Planex GW-450SのLinuxドライバーのコンパイルとインストール

たぶんまだハードウェア、ドライバーあたりの問題っぽい。
HowTo: Linux Show List Of Network Cards
http://www.cyberciti.biz/faq/linux-list … s-command/を参考にする。

オフライン

 

#11 2015-03-15 13:11:30

Beats
メンバ
登録日: 2015-03-14

Re: Planex GW-450SのLinuxドライバーのコンパイルとインストール

network-managerを止めて/etc/network/interfacesに設定を入れても、うまくいかないので、元に戻す。

現在のハードウェアの状況。http://www.cyberciti.biz/faq/linux-list … s-command/参照。

lspci | egrep -i --color 'network|ethernet'の出力

コード:

01:00.0 Ethernet controller: Intel Corporation 82573L Gigabit Ethernet Controller
02:00.0 Ethernet controller: Qualcomm Atheros AR242x / AR542x Wireless Network Adapter (PCI-Express) (rev 01)

lshw -class networkの出力

コード:

  *-network
       description: Ethernet interface
       product: 82573L Gigabit Ethernet Controller
       vendor: Intel Corporation
       physical id: 0
       bus info: pci@0000:01:00.0
       logical name: eth0
       version: 00
       serial: 00:15:b7:91:7c:64
       capacity: 1Gbit/s
       width: 32 bits
       clock: 33MHz
       capabilities: pm msi pciexpress bus_master cap_list ethernet physical tp 10bt 10bt-fd 100bt 100bt-fd 1000bt-fd autonegotiation
       configuration: autonegotiation=on broadcast=yes driver=e1000e driverversion=2.3.2-k firmware=0.5-1 latency=0 link=no multicast=yes port=twisted pair
       resources: irq:43 memory:ffce0000-ffcfffff ioport:bfe0(size=32)
  *-network UNCLAIMED
       description: Ethernet controller
       product: AR242x / AR542x Wireless Network Adapter (PCI-Express)
       vendor: Qualcomm Atheros
       physical id: 0
       bus info: pci@0000:02:00.0
       version: 01
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress msix bus_master cap_list
       configuration: latency=0
       resources: memory:ffaf0000-ffafffff
  *-network DISABLED
       description: Wireless interface
       physical id: 2
       bus info: usb@1:1
       logical name: wlan1
       serial: 00:e0:4c:87:00:00
       capabilities: ethernet physical wireless
       configuration: broadcast=yes driver=rtl8812au driverversion=3.16.0-23-generic firmware=N/A link=no multicast=yes wireless=unassociated

ifconfig -aの出力

コード:

eth0      Link encap:Ethernet  HWaddr 00:15:b7:91:7c:64  
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 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:0 (0.0 B)  TX bytes:0 (0.0 B)
          Interrupt:16 Memory:ffce0000-ffd00000 

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:65536  Metric:1
          RX packets:141 errors:0 dropped:0 overruns:0 frame:0
          TX packets:141 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:10196 (10.1 KB)  TX bytes:10196 (10.1 KB)

wlan1     Link encap:Ethernet  HWaddr 00:e0:4c:87:00:00  
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 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:0 (0.0 B)  TX bytes:0 (0.0 B)

ip link showの出力

コード:

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: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN mode DEFAULT group default qlen 1000
    link/ether 00:15:b7:91:7c:64 brd ff:ff:ff:ff:ff:ff
3: wlan1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
    link/ether 00:e0:4c:87:00:00 brd ff:ff:ff:ff:ff:ff

ip aの出力

コード:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000
    link/ether 00:15:b7:91:7c:64 brd ff:ff:ff:ff:ff:ff
3: wlan1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 00:e0:4c:87:00:00 brd ff:ff:ff:ff:ff:ff

cat /proc/net/devの出力

コード:

Inter-|   Receive                                                |  Transmit
 face |bytes    packets errs drop fifo frame compressed multicast|bytes    packets errs drop fifo colls carrier compressed
    lo:   10196     141    0    0    0     0          0         0    10196     141    0    0    0     0       0          0
  eth0:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0          0
 wlan1:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0          0

オフライン

 

#12 2015-03-15 13:28:28

Beats
メンバ
登録日: 2015-03-14

Re: Planex GW-450SのLinuxドライバーのコンパイルとインストール

前のポストは紛らわしいのでatk5kカーネルモジュールを外した状態の表示です。

たぶん上記のlspciは関係ない。
あとlsusbの出力。

コード:

Bus 001 Device 002: ID 2019:ab32 PLANEX 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 002: ID 0483:2016 STMicroelectronics Fingerprint Reader
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

lsusb -s 001:002 -v の出力

コード:

Bus 001 Device 002: ID 2019:ab32 PLANEX 
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.10
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  idVendor           0x2019 PLANEX
  idProduct          0xab32 
  bcdDevice            2.00
  iManufacturer           1 
  iProduct                2 
  iSerial                 3 
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           60
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0xe0
      Self Powered
      Remote Wakeup
    MaxPower              500mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           6
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass    255 Vendor Specific Subclass
      bInterfaceProtocol    255 Vendor Specific Protocol
      iInterface              2 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x84  EP 4 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x05  EP 5 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x06  EP 6 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x87  EP 7 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               3
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x08  EP 8 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x09  EP 9 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0

オフライン

 

#13 2015-03-15 17:48:21

makopi
メンバ
登録日: 2009-11-01

Re: Planex GW-450SのLinuxドライバーのコンパイルとインストール

すべて読み取れていないのですが、
https://lists.fedoraproject.org/pipermail/users/2015-January/457289.html
ではソースの入手先が2つ書かれています。

git clone https://github.com/gnab/rtl8812au.git

は試されてはいないのですか?

Ubuntu14.04でのサイトを見つけました。
http://xr0038tech.hatenadiary.jp/entry/2015/01/30/153409

オフライン

 

#14 2015-03-15 23:32:01

Beats
メンバ
登録日: 2015-03-14

Re: Planex GW-450SのLinuxドライバーのコンパイルとインストール

makopiさん、ありがとうございます。

githubに詳しくなく、どれが新しいのかまったくわかっておりませんでした。

教えていただいたソース先でのビルドで、あっさり認識されました。

ありがとうございました。

オフライン

 

Board footer

Powered by FluxBB