So-net無料ブログ作成
Beagle Board ブログトップ

BeagleboardでWLAN、Wifiを使う。 [Beagle Board]

BeagleboardでWLAN、Wifiを使う。

以前にも書いたが改めてやってみると、参考にしたサイトから引用した部分が間違っていた。
今日はこの方法で無事繋がった!

先ずはUSB WLANのドライバーから、、、、
私の手元にあるUSBドングルはPANEXの古いやつ。。。
ZD1211が入っているやつです。

以前は下記のパッケージを利用したのだが、改めてカーネルソースを見ると今は組み込まれていました。

http://ftp.debian.org/debian/pool/non-free/z/zd1211-firmware/zd1211-firmware_2.21.0.0-0.1_all.deb

ので、menuconfigで再度選択してカーネルのビルド。。。

続いてはdebianのパッケージのサイトから下記をダウンロードした物をSDカードにコピーしておき順番にインストールする。
もちろんBeagleboardで・・・

libiw29_29-1.1_armel.deb
wireless-tools_29-1.1_armel.deb

この順番で

さらに以下も入れとく

libpcsclite1_1.4.102-1_armel.deb
libdbus-1-3_1.2.1-5+lenny1_armel.deb
wpasupplicant_0.6.4-3_armel.deb

Beagleboard上でインストールできたら

以下、WPA2 を使うことを前提としています。まず、WPA2 の事前共有鍵を設定します。SSID を foo、事前共有鍵のフレーズを korehahimitsuda と仮定します。

# sudo wpa_passphrase foo korehahimitsuda

するとだらっと色々出てきたのを

sudo vi /etc/wpa_supplicant/wpa_supplicant.conf

/etc/wpa_supplicant/wpa_supplicant.conf エディタで開き、だらっと出てきたのを下記フォーマットに当てはめて

network={
proto=WPA WPA2
key_mgmt=WPA-PSK
pairwise=CCMP TKIP
ssid="foo"
#psk="korehahimitsuda"
psk=
}

次に、/etc/network/interfaces に追記します。(auto lo の後ろに、wlan0 を書き加えています。)

auto lo wlan0

iface wlan0 inet dhcp
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

直したら、sudo ifup wlan0 で Wi-Fi に繋がった。
OS を再起動すれば自動的にネットワークが設定されます。

あいやー無事つながりました。

Beagleboard 拡張コネクタのUART2を動かす。 [Beagle Board]

拡張コネクタのUART2を動作させる。

ここを参照しました。
http://elinux.org/BeagleBoardPinMux

beagleboard/kernel/2.6-stable/KERNEL/arch/arm/mach-omap2/mux.c

を変更してマルチプレクスされているピンを変更する。

MUX_CFG_34XX("AF6_34XX_GPIO140_UP", 0x16c,
OMAP34XX_MUX_MODE1 | OMAP34XX_PIN_INPUT_PULLUP)
MUX_CFG_34XX("AE6_34XX_GPIO141", 0x16e,
OMAP34XX_MUX_MODE1 | OMAP34XX_PIN_INPUT)
MUX_CFG_34XX("AF5_34XX_GPIO142", 0x170,
OMAP34XX_MUX_MODE1 | OMAP34XX_PIN_OUTPUT)
MUX_CFG_34XX("AE5_34XX_GPIO143", 0x172,
OMAP34XX_MUX_MODE1 | OMAP34XX_PIN_INPUT)
追記した。

MUX_CFG_34XX("AD25_34XX_GPIO147", 0x17a,
OMAP34XX_MUX_MODE4 | OMAP34XX_PIN_OUTPUT)

続いて同じフォルダのboard-omap3beagle.cを変更する。
omap3_beagle_init(void)のomap_cfg_reg(J25_34XX_GPIO170);の後に

omap_cfg_reg(AF6_34XX_GPIO140_UP); //CTS ここがWEBでは間違っていた。
omap_cfg_reg(AE6_34XX_GPIO141); //RTS
omap_cfg_reg(AF5_34XX_GPIO142); //TX
omap_cfg_reg(AE5_34XX_GPIO143); //RX

を追記する。

KernelをBuildする。

make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- distclean
make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- omap3_beagle_defconfig
make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- menuconfig
こいつらを設定する。
System Type --> TI OMAP Implementations --> OMAP multiplexing support
Device Drivers --> GPIO Support --> /sys/class/gpio/... (sysfs interface)

make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- uImage
make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- modules
make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- modules_install INSTALL_MOD_PATH=../beagle-temp

そして完成!

動作確認は

コマンドラインから

stty -F /dev/ttyS1 -crtscts

echo "test" > /dev/ttyS1 

拡張ピンの6番ピン(TX)から波形が出る事を確認!

Beagleboard 720Mhz 動作 [Beagle Board]

BeagleBoardを動かすならデフォルトの500Mhzで動かしても意味がないので、720Mで動かすように、U-BOOTをいじってみた。

私の持っているBBはC3のバージョンなので、600Mhzが最高だが720Mhzに設定して動けばそれで良しとしましょう。
所詮趣味で行っているので、早くなるのなら保証外でも最速を目指しましょう!

OMAPの仕様書から、

1)VDD1を 1.2V→1.35Vに上げる。
ID=4B B9 3C

2)720Mhz動作 mw 48004940 0012d00c
 IVA2動作  mw 48004040 0009AE0c

改良する場所は解ったので、次はU-BOOTのソースなどの準備

早速 U-BOOTと思ったが久しぶりに最初からやってみる。

x-loadから

mkdir x-load-beagle
cd x-load-beagle
git clone git://gitorious.org/x-load-omap3/mainline.git xloader
cd xloader/
make distclean
make omap3530beagle_config
make

x-load.bin

http://code.google.com/p/beagleboard/wiki/BeagleSourceCode
sinGPをとってくる。

chmod +x signGP
./signGP x-load.bin

x-load.bin.ift となり、

mv x-load.bin.ift MLO

これでMLOができた。

続いてU-BOOT

*ソースを取ってくる。

 git clone git://git.denx.de/u-boot.git u-boot-main
 cd u-boot-main
 git checkout --track -b omap3 origin/master

 ついで、パッチもダウンロードしておく。
 背景がでるかどうかの問題だけなので、当てなくても問題は無い。

 一応最初にPatchを当てる。
 背景が出るだけでもちょっと嬉しい。

patch -p1 < ./u-boot_v1_beagle_logo.patch

 全然当たらないので、マニュアルで変更する。
 ファイルのパスがboard/ti/beagle/beagle.cになっている。
 合わせてlogo.hも同じフォルダに移動する。

 それではソースをいじる。

 まずは電圧の変更

 /home/sasa/work/beagleboard/u-boot_x-loard/u-boot-main/drivers/power/twl4030.c
 に下記を追記する。

#define VDD1_high 0x3c

/* set VDD1 to 1.35V */
byte = VDD1_high;
twl4030_i2c_write_u8(TWL4030_CHIP_PM_RECEIVER, byte,
TWL4030_PM_RECEIVER_VDD1_VSEL);

 続いてCLK変更をする。

board/ti/beagle/beagle.cに

dss_init();の下にこいつらを追記した。

printf("Set 720Mhz\n");
*((uint *) 0x48004940) = 0x0012d00c;
printf("Set IVA2\n");
*((uint *) 0x48004040) = 0x0009AE0c;

 そしてBuild!

 make CROSS_COMPILE=arm-none-linux-gnueabi- mrproper
 make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- omap3_beagle_config
 make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi-

完成です。

Kernel Build (2010年2月) [Beagle Board]

久しぶりの記事になるが、ずーっと遊んでいた訳ではない。。。。

最近KernelをBuildしたときに結構つまずいたので、記事にしておく。

Beagleboardの最新のKernelをbuildした。

Ubuntuを動かす予定なので、http://elinux.org/BeagleBoardUbuntu#Building_Kernel
の手順通り

sudo apt-get install bzr
bzr branch lp:~beagleboard-kernel/+junk/2.6-stable
cd 2.6-stable

. build_kernel.sh

を実行するとエラーがでる。

system.shを作れと言ってくる。

system.sh.sampleをコピーしてsystem.shに名前を変える。

そして、system.shを開き
CC= をToolchaineのルートにしてあげないとならない。

こんな感じに・・・
CC=/opt/omap3evm/toolchain/arm-2007q3/bin/arm-none-linux-gnueabi-

注)当初コンパイラを2007q3を使っていたが、完成したものが動かなかったので、2009に変えました。。。

そしたら、ついでに . build_kernel.sh も書き換えてModulesのできる場所を変更する。

/deploy/modだとちょっと分かり難かった。。。

を実行!!

勝手にpatchをダウンロードして当ててくれる。

しばらくするとMenuconfigが立ち上がり、好みに設定。

閉じると勝手にビルドしてくれる。

環境にもよるが私の場合はかなり時間が掛かって無事終了!

Kernel uImageはbuild_kernel.shに書かれているように、

arch/arm/boot/uImage として出来上がる。

Modulesは/deploy/modに出来上がる。

そしてBeagleboard Ubuntuのサンプルの9.0.4のデモイメージのuImageとModulesを差し替えてOK

何回か起動しない物もできてしまって試行錯誤でした。

そのために行った事は下記です。

1)Toolchainを2009にした。
  ・Toolchainをダウンロードする時の注意点:arm-2009q1-203-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2をダウンロードする。
  ・sudo cp arm-2009q1-203-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2 /opt/omap3evm/toolchain
  こんな感じでインストールする。

2)マニュアルでKernelとModulesをビルドする。
  Kernel:
   KERNELのフォルダに入って。
    make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- menuconfig
    make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- uImage
    make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- modules
    make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- modules_install INSTALL_MOD_PATH=../modules

 これで最初に上手くいった。

 注)この方法は一度 build_kernel.shを実行してパッチなどを当ててから実行する。

3)できたModulesのアクセス権の変更
  Moduleのアクセスができなかったので変更を行った。

上記で完成!

Beagleboard Wifi設定 [Beagle Board]

4年以上前に買ったUSBドングルタイプのWifiを使っています。

こちらのページそのままでOKでした。

http://beagleban.blogspot.com/search?updated-max=2009-10-05T23%3A02%3A00%2B09%3A00&max-results=7

Kernelは日経Linuxについてきたやつではなくて、2.09で自分でコンパイルした。orer40だっけな???

このように書かれているが、このファイルはもう古くてゲットできなかったような気がする。
http://ftp.debian.org/debian/pool/non-free/z/zd1211-firmware/zd1211-firmware_2.21.0.0-0.1_all.deb
最新をダウンロードして

wireless-tools_29-1.1_armel.deb
libiw29_29-1.1_armel.deb (← wireless-tools が要求します)

こいつらを順番が逆にインストール

dpkg -i xxxxxx.deb

普通はWPA, WPA2 を使うのでこいつらもインストール

wpasupplicant_0.6.4-3_armel.deb
libpcsclite1_1.4.102-1_armel.deb
libdbus-1-3_1.2.1-5+lenny1_armel.deb

WPA2 を使うことを前提で、WPA2 の事前共有鍵を設定します。SSID を foo、事前共有鍵のフレーズを korehahimitsuda と仮定します。

# wpa_passphrase foo wpa_passphrase > /etc/wpa_supplicant/wpa_supplicant.conf
次に、そのファイルをエディタで開き、次のように追記します。

network={
proto=WPA WPA2
key_mgmt=WPA-PSK
pairwise=CCMP TKIP
ssid="foo"
#psk="korehahimitsuda"
psk=...
}

次に、/etc/network/interfaces に追記します。(auto lo の後ろに、wlan0 を書き加えています。)

auto lo wlan0

iface wlan0 inet dhcp
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

これで、9.04のときは繋がった!

・・・・が!

Boot中にkernel Panicと出てウンスンです。


今週末に再実験してみます。。。

9.04では動いたのに・・・・

Beagleboard ubuntu9.1 を 動かす [Beagle Board]

最近行き詰まった感があったので、Beagleboardにubuntu9.1を動かしてみる。

ここから抜粋http://elinux.org/BeagleBoardUbuntu#Karmic_9.10

Karmic 9.10

Demo ImageはこのようにBuildしたそうです。

ということは、loginはubuntu passwordはtemppwdということ

Built with:
sudo ./rootstock --fqdn beagleboard --login ubuntu --password temppwd --imagesize 2G --seed wget,nano,linux-firmware,wireless-tools,usbutils \
--dist karmic --serial ttyS2 --kernel-image http://rcn-ee.net/deb/kernel/beagle/karmic/v2.6.31.6-x6.0/linux-image-2.6.31.6-x6.0_1.0karmic_armel.deb

デモイメージを取得

これでファイルをゲット
wget http://rcn-ee.net/deb/rootfs/ubuntu-9.10-minimal-armel-1.1.tar.7z

解凍!
(場合によっては7za をインストールしなければならない。)
7za x ubuntu-9.10-minimal-armel-1.1.tar.7z

解凍したものをtarで解凍
tar xf ubuntu-9.10-minimal-armel-1.1.tar

解凍すると 2つのファイルができた。

armel-rootfs-200911140915.tar
vmlinuz-2.6.31.6-x6.0

次にuImageをコンバート

まずはubootを作る。

sudo apt-get install uboot-mkimage

インストールしてあれば、

mkimage -A arm -O linux -T kernel -C none -a 0x80008000 -e 0x80008000 -n "Linux" -d ./vmlinuz-* ./uImage

uImageできた。

SDカードにいつものようにインストール

uImageは最初のFATパーテーションにコピー

EXTにarmel-rootfs-200911140915.tarを解凍

SDカードをマウント
sudo mount /dev/sdX2 ./tmp
sudo tar xfp armel-rootfs-[date].tgz -C ./tmp
sudo umount ./tmp

解凍したRootFSに修正

最初に /etc/fstabを修正

sudo mount /dev/sdX2 ./tmp
sudo gedit ./tmp/etc/fstab
add:
/dev/mmcblk0p2 / ext3 errors=remount-ro 0 1

2番目 /etc/e2fsck.conf

sudo gedit ./tmp/etc/e2fsck.conf

[problems]

# Superblock last mount time is in the future (PR_0_FUTURE_SB_LAST_MOUNT).
0x000031 = {
preen_ok = true
preen_nomessage = true
}

# Superblock last write time is in the future (PR_0_FUTURE_SB_LAST_WRITE).
0x000032 = {
preen_ok = true
preen_nomessage = true
}

3番目 /etc/apt/sources.list

sudo gedit ./tmp/etc/apt/sources.list

deb http://ports.ubuntu.com/ubuntu-ports karmic-updates main universe

最後に

cd ./tmp
sync
cd ..
sudo umount ./tmp

S-Video [Beagle Board]

なぜか自宅のTVだと同期が取れない・・・

会社で使っているモニターだと取れるのに・・・

次はオシロで、波形確認かな???

しかしな~何かBeagleboardがPAL吐き出しているような気が・・・・
NTのTVにPALを掃きだして同期が取れない画に似ている。。。

beagleboard ubuntu [Beagle Board]

日経Linuxを見ながらBeagleboard用のSDカードを製作。。。。

何回も手順を打つのは面倒なので、メモしながら打ったら、1時間以上掛かってしまった。
疲れた・・・
手順はHP http://www16.big.or.jp/~t_sasaki/に載せるつもり・・・

結構面倒だよね。。。

シリアル経由でログインできたので、本日は終了!

疲れた、疲れた・・・

でも、なんかできたSDカードに違和感を感じる。。。

早く届け [Beagle Board]

Dige-keyで発注しているが、今日も連絡は無かった。

Beagle Boardのサイトのフォーラムを見ると。

先週金曜と昨日の火曜で500台出荷したから大丈夫と書いてある。

Dige-Keyの言うことは信用するな!とまで書いてある。。。

アメリカ的というか、日本じゃないよな~

しかし、なんでBeagleBoardはES品のOMAPをずーっと入手できるのだろう・・・

ES品をTIが早くから売るなんて何か変だな。。。。

俗に言うTIからの天下りがいるのかな?

それともTIの戦略的、OPEN ハードウェアと言う事なのでしょうか???

私はハード屋だけど、仕事が無くなるな・・・
Softの仲間に入れて欲しいなっ...

入れてくれねーか・・・

ハードでがんばります!!!

Beagle Board ブログトップ
メッセージを送る

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。

×

この広告は1年以上新しい記事の更新がないブログに表示されております。