Hatena::ブログ(Diary)

作業記録/備忘録(仮) このページをアンテナに追加 RSSフィード

2014/08/29

BBB(Ubuntu12.04)で11ac WLANアダプタを利用する

概要

BeagleBoneBlack(BBB)で802.11ac無線LANアダプタ(WDC-867U3/添付写真も参照)を使えるようにする。
f:id:nihohi:20140830000803p:image:w240

背景

ある探査ロボットを遠隔無線操縦し、画像転送を行う必要があり、帯域を広めに利用したかった。
BBB用に、.11ac WLANドライバをbuildしたので、そのdriverと使い方を公開する。ドライバのbuild方法は後日記載予定。

環境

BeagleBoneBlack(BBB) Ubuntu 12.04

WLAN adaptor:ELECOM WDC-867U3

使い方

8812au.koをdownloadする。
https://github.com/nihohi0428/11ac_driver_for_BBB/tree/master

$ sudo cp 8812au.ko /lib/modules/3.8.13-bone30/kernel/net/wireless/
$ sudo chmod 644 /lib/modules/3.8.13-bone30/kernel/net/wireless/8812au.ko 
$ sudo /sbin/depmod -a 3.8.13-bone30

WLANアダプタを刺す。

$ sudo modprobe 8812au

11acとして使えてることが分かる。

$ sudo iwconfig
wlan0     IEEE 802.11AC  ESSID:"xxxxx"  Nickname:"xxxxx"
          Mode:Managed  Frequency:5.5 GHz  Access Point: DC:FB:02:xx:yy:zz
          Bit Rate:867 Mb/s   Sensitivity:0/0  
          Retry:off   RTS thr:off   Fragment thr:off
          Encryption key:****-****-****-****-****-****-****-****   Security mode:open
          Power Management:off
          Link Quality=100/100  Signal level=-45 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

lo        no wireless extensions.

eth0      no wireless extensions.

rename4   unassociated  Nickname:"xxxxx"
          Mode:Managed  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

buildの仕方

  • (後日記載予定)

2014/06/02

BBBでシリアル通信

概要

BeagleBoneBlack(BBB)のシリアルポートUART4(P9 11:RXD,13:TXD)を使えるようにする。

背景

ある探査ロボットのモータ制御をRS485で行う必要があり、RS232でしゃべれるBBBを利用した。
その際に、手始めに、BBBでシリアル制御を行ったのでその備忘録。
この後、pythonからシリアル制御を行ったのでそれも近日中に記載予定。
RS232C<-->RS485コンバータの製作についても記載するかも。

手順

設定

以下の設定を行いreboot。UART4の部分は設定を行いたいものに読み替え。

$ diff -u /boot/uboot/uEnv.txt~ /boot/uboot/uEnv.txt
--- /boot/uboot/uEnv.txt~	2014-05-15 23:58:50.000000000 +0000
+++ /boot/uboot/uEnv.txt	2014-06-20 01:28:44.000000000 +0000
@@ -17,7 +17,7 @@
 ##BeagleBone Black:
 ##Disable HDMI/eMMC
 #optargs=capemgr.disable_partno=BB-BONELT-HDMI,BB-BONELT-HDMIN,BB-BONE-EMMC-2G
-
+optargs=quiet drm.debug=7 capemgr.enable_partno=BB-UART4
 console=ttyO0,115200n8
 
 mmcroot=UUID=526efd31-8f31-4dc6-8b5d-ac3a2b3736e2 ro

reboot後、/dev/ttyO4が見えるようになる。ちなみに、ttyO0は、オンボードデバッグシリアルピン。
シリアル通信の設定を行う。

$ sudo stty -F /dev/ttyO4 raw
$ sudo stty -F /dev/ttyO4 9600

P9 11,13をシリアルで別の端末に接続。写真のような感じで。
端子同士の配線は以下。

f:id:nihohi:20140603000215j:image

動作確認

TeraTermなどでシリアルを9600bpsで開いた状態で、BBBから以下を実行。

$ sudo su -
# echo "Hello,nihohi" >/dev/ttyO4

無事表示されました。
BBB側も、ttO4をcatして、TeraTerm側からも文字を送ると受信にも成功。

# cat /dev/ttyO4 
moge^C hello,nihohi!

f:id:nihohi:20140603015747p:image

※2014/09/28追記。
もし2つのデバイスを有効化する場合(例えばttyO2とttyO4)、前述の/boot/uboot/uEnv.txtで、以下のようにカンマ区切りでデバイスを設定すればOK。

 capemgr.enable_partno=BB-UART2,BB-UART4