2011-08-21

BCM4312 802.11b/g on debian on linux-3.0.0

BMC4312 802.11b/g を再度使えるようにしたのでメモ

結果的には
http://www.broadcom.com/support/802.11/linux_sta.php
の wl ドライバをつかう。
Broadcom がドライバをオープンソースにするとかというニュースに惑わされちゃいかんとです。
あれは限定されたチップしかサポートしていないです。(2011-08-21現在)
どのチップでどのドライバを使えばいいのかは
https://wiki.archlinux.org/index.php/Broadcom_wireless
に書いてます。またドライバの使用方法やFAQも書いてるので
英語がわかる人はここを見たほうがいいです。

環境
機種:lenovo ideapad S10e
OS:Debian GNU/Linux squeeze
カーネル:linux-3.0.0 をコンパイルしてインストールしてる
無線チップ:05:00.0 Network controller: Broadcom Corporation BCM4312 802.11b/g LP-PHY (rev 01)
AP:corega CG-WLRGNX
↓これさらすとセキュリティうんちゃらうるさいけどまぁいいや
認証方式:WPA/WPA2 - PSK
暗号方式:自動(AES/TKIP) たぶんTKIPだと思われ
WPA共有キー:<これは秘密>仮に kumakuma とする

無線チップの詳細は下記

05:00.0 Network controller: Broadcom Corporation BCM4312 802.11b/g LP-PHY (rev 01)

05:00.0 0280: 14e4:4315 (rev 01)
Subsystem: 14e4:04b5
Flags: bus master, fast devsel, latency 0, IRQ 18
Memory at f0400000 (64-bit, non-prefetchable) [size=16K]
Capabilities: [40] Power Management version 3
Capabilities: [58] Vendor Specific Information: Len=78
Capabilities: [e8] MSI: Enable- Count=1/1 Maskable- 64bit+
Capabilities: [d0] Express Endpoint, MSI 00
Capabilities: [100] Advanced Error Reporting
Capabilities: [13c] Virtual Channel
Capabilities: [160] Device Serial Number 3d-99-4e-ff-ff-c9-00-23
Capabilities: [16c] Power Budgeting
Kernel driver in use: wl


まずはカーネルのコンフィグでハマリそうなところ(コンパイルしない人は飛ばしてね)

いろいろ試行錯誤しているうちにいつの間にか Sonics Silicon Backplane(ssb) が
組み込まれてしまっているのでそれをカーネルに組み込まれない or モジュールにする
で、下記あたりを外しておけばいいんじゃないかと (make menuconfig したときの例)
ドライバは有効にするんじゃないよ:-P

Device Drivers -> Network device support -> Ethernet (10 or 100Mbit) -> Broadcom 440x/47xx ethernet support
Device Drivers -> Network device support -> Wireless LAN -> Broadcom 43xx wireless support
Device Drivers -> Network device support -> Wireless LAN -> Broadcom 43xx-legacy wireless support
Device Drivers -> Sonics Silicon Backplane -> Sonics Silicon Backplane support
Device Drivers -> Broadcom specific AMBA -> BCMA support

Sonics Silicon Backplane support に * がつかないようにゴニョゴニョしてください。

次に wl なドライバのダウンロード
http://www.broadcom.com/support/802.11/linux_sta.php
からダウンロードして linux-2.6.37以上用のパッチを当ててコンパイルしてインストール

$ wget http://www.broadcom.com/docs/linux_sta/hybrid-portsrc_x86_32-v5_100_82_38.tar.gz
$ wget http://www.broadcom.com/docs/linux_sta/5_100_82_38.patch
$ tar xvzf hybrid-portsrc_x86_32-v5_100_82_38.tar.gz
$ patch -p0 < 5_100_82_38.patch
$ make
$ sudo make install
$ sudo depmod


いらないモジュールを unload して wl を有効にする

$ sudo rmmod ssb b44 b43 b43legacy bmca
$ sudo modprobe wl

ちゃんと有効になれば dmesg に下記のように出力されるはず

[ 282.575888] wl: module license 'unspecified' taints kernel.
[ 282.575897] Disabling lock debugging due to kernel taint
[ 282.615287] wl 0000:05:00.0: PCI INT A -> GSI 18 (level, low) -> IRQ 18
[ 282.615312] wl 0000:05:00.0: setting latency timer to 64
[ 282.639317] eth1: Broadcom BCM4315 802.11 Hybrid Wireless Controller 5.100.82.38

いらないモジュールは /etc/modprobe.d/blacklist.conf にでも書いておけば良い

つぎに WPAの設定

$ sudo apt-get install wpasupplicant
$ cat /etc/wpa_supplicant/wpa_supplicant.conf
network={
proto=WPA WPA2
key_mgmt=WPA-PSK
pairwise=CCMP TKIP
ssid="your ssid"
psk="kuma"
}

$ cat /etc/network/interfaces
auto eth1
iface eth1 inet dhcp
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
$ sudo ifup eth1

interfaces とか wpa_supplicant.conf の書き方は端折りました。
man みるなりしてください。


2011-07-03

BIOS update with freedos

freedosとか使い方を何度も調べるのメンドイのでメモ

環境:
マザボ:Asus P7H55-M PRO
OS:Debian GNU/Linux 6.0.2(Squeeze)
USBメモリスティックは /dev/sdb
FreeDOS: http://www.finnix.org/files/balder10.img

まずは/dev/sdbにvfatなパーティションを作成する

$ sudo cfdisk /dev/sdb
$ sudo mkfs.msdos /dev/sdb1


でFreeDOSのダウンロード

$ http://www.finnix.org/files/balder10.img


usb メモリスティックにコピー

qemu -boot a -fda balder10.img -hda /dev/sdb
A:\> sys c:
A:\> xcopy /E /N a: c:


マザボのBIOSをダウンロード
http://www.asus.co.jp/Motherboards/Intel_Socket_1156/P7H55M_PRO/#download
あたりからダウンロードできる
P7H55-M-PRO-ASUS-1604.zip と BUPDATER_V112.zip をダウンロードしたうえで、

$ unzip P7H55-M-PRO.ASUS-1604.zip
$ unzip BUPDATER_V112.zip
$ sduo mkdir /mnt/dos
$ sudo mount -t vfat /dev/sdb1 /mnt/dos
$ sudo cp BUPDATER_V112/BUPDATER.EXE /mnt/dos
$ sudo cp P7H55-M-PRO-ASUS-1604.ROM /mnt/dos
$ sudo umount /mnt/dos


done?

2011-05-29

elecom TK-FBM023買ってみた

ELECOM の TK-FBM023 というbluetoothキーボードを買ってみた。
で、ちょっと使ってみた感想とかいろいろ。
使い方をまともに調べてないけど、いろいろ愚痴をならべてみた。
不幸な人が出ないための備忘録みないな感じ。

利点
* ちっちゃい
* 英語配列
* マルチペアリング(4台まで)
* 安い

欠点
* マルチペアリングだけど切り替え方法がわからない
* Xperia arc とペアリング方法がわからない(対応してるってelecomサイトには書いてあった)
* PS3 とペアリングできたけど入力できない
* ちっちゃすぎた
* Debian でペアリングできた最初だけ入力できたけど、そのあと認識しなくなった
* AZの列が変にズレている。っていうっかおかしい
* S の下にZのキーがきてる(今気がついた)


配列がおかしすぎてゴミ決定になりました

2011-04-09

compile gnome3 using JHBuild on Debian squeeze

Gnome3 が出たのでコンパイルしてインストールしてみるメモ。
以前は garchive というのがあって任意のディレクトリにコンパイルしてインストールできたが開発が止まってしまった。今はJHBuild というのがあるっぽいので、それを利用してインストールする。

環境は Debian GNU/Linux squeeze。
オフィシャルサイトは http://developer.gnome.org/jhbuild/stable/index.html.ja
ここを見れば大丈夫だと思われ。


$ mkdir /usr/local/src/JHBuild
$ cd /usr/local/src/JHBuild
$ git clone git://git.gnome.org/jhbuild
$ cd jhbuild

コマンドの gnome-autogen.sh が必要なので

$ sudo apt-get install gnome-common

で、続き

$ ./autogen.sh
$ make; make install

~/.local/bin/ にjhbuild に必要なコマンドがインストールされるので

PATH=$PATH:~/.local/bin

JHBuild は ~/.jhbuildrc で設定をコントロールできる。サンプルはjhbuild/example/sample.jhbuildrc にあるので 適当にいじって ~/ にコピーしておく(詳細はマニュアル読んでね:-P
checkoutroot, prefix, makeargs あたりをいじってみた

まずコンパイルに必要なコマンドやパッケージがあるかを下記コマンドで確認できる。

$ jhbuild sanitycheck

hogehoge たりないよってメッセージがでるけど実際何をいれたらいいのかわからないので
~/.local/lib/python2.6/site-packages/jhbuild/commands/sanitycheck.py を見ながら
必要なファイルが含まれそうなパッケージを apt でインストールしまくる。
僕の場合は docbook-xsl だけが必要だった。

で、ビルド開始

$ jhbuild build

とりあえず一旦投稿するね

2011-04-03

Logicool M570 on Debian GNU/Linu sqeeze

M570 買ってみた。
写真の右はいままでつかっていたM$ trackball optical 1.0
* M570 は一回り小さい
* ボールとボタンの軸が異なるため慣れが必要
* ホイールが重め

Linux での使い方はレシーバをPCにさすだけで認識しました。


2011-03-20

自分専用kernel Makefile

自分専用kernel Makefile のメモ
VERSION=2.6.38
SRC=linux-${VERSION}
ARCHIVE=${SRC}.tar.bz2
URL=http://www.kernel.org/pub/linux/kernel/v2.6/${ARCHIVE}
ARCH=`uname -m`

#linux-2.6.30.tar.bz2

all: get

get: ${ARCHIVE}

${ARCHIVE}:
wget ${URL}

extract: ${ARCHIVE}
tar xvjf ${ARCHIVE}

config: ${SRC}/.config

${SRC}/.config: /proc/config.gz ${SRC}
gunzip -dc /proc/config.gz > ${SRC}/.config
cd ${SRC}
make -C ${SRC} silentoldconfig


compile:
nice make -j16 -C ${SRC}

install:
sudo cp ${SRC}/arch/${ARCH}/boot/bzImage /boot/vmlinuz-${VERSION}
sudo cp ${SRC}/.config /boot/config-${VERSION}
sudo cp ${SRC}/System.map /boot/System.map-${VERSION}
sudo make -C ${SRC} modules_install
mkinitramfs -k -o /tmp/initramfs-${VERSION} ${VERSION}
sudo cp /tmp/initramfs-${VERSION} /boot/initramfs-${VERSION}

2011-02-27

*** on Debian GNU/Linux squeeze

必要なものは某バルク品(初期不良も含め一切保証なし)の某PCIなカード
NTT Communications の SCR3310-NTTCom のICカードリーダライタ

まずは必要そうなパッケージをとりあえずインストール


$ sudo apt-get install g++ libboost-filesystem-dev libboost-thread-dev libglib2.0-dev libpcsclite-dev libccid libglib2.0-dev libpcsclite-dev libccid pcscd libboost-regex-dev pcsc-tools


最新ドライバの取得とインストール

$ wget http://hg.honeyplanet.jp/pt1/archive/tip.tar.bz2
$ tar xvjf tip.tar.bz2
$ cd pt1-7662d0ecd74b/driver
$ make; sudo make install
$ sudo modprobe pt1_drv


b25 ライブラリ

$ wget http://hg.honeyplanet.jp/pt1/archive/c44e16dbb0e2.tar.bz2
$ tar xvjf c44e16dbb0e2.tar.bz2
$ cd pt1-c44e16dbb0e2/arib25
$ make; sudo make install


で、ツールなどインストール

$ cd pt1-7662d0ecd74b/recpt1
$ ./autogen.sh
$ ./configure
$ make; sudo make install


カードリーダの設定

$ cd pt1-c44e16dbb0e2/b25_docs
$ sudo mv /etc/libccid_Info.plist /etc/libccid_Info.plist-
$ sudo cp libccid_Info.plist /etc

最後に /etc/libccid_Info.plist内の 1.3.1 を libccid のバージョン1.3.11 に変更してあげる

で、これで行けると思ったんだけど、分波器で地デジ・BS/CSを分けてあげないとだめなのかな?