■玄箱/Pro・インデックス
(2007.05.09) 玄箱/Proが手に入った。ウレシイゾ!なので項目を追加   こっち



■インデックス
(2010.01.21) ほんとに、ビックリ!!
玄箱/HGがSIPサーバーになるというのだ。それが、Asteriskだ。
なので、SIP-2100Pを入手したのを機に実行に移す。
このあたりを参考に。
アステリスクの本家はここ
http://www.voip-info.jp/index.php/Asterisk
玄箱でAsteriskを動かす
RT-200Kとの連携なので、こちらも参照する。
Asteriskと玄箱
SIP-2100Pの説明はここに。
(2008.12.21) ほんとうに、久しぶりに、自宅の「玄箱/HG」をいじった。ほこりだらけだ。
かなり、ファンの音がうるさくなってた。まあいいんだけど、これでファンが 止まってしまって、内部が壊れてしまうのがイヤなので、このさい、 修理キットのファンと交換することにした。
そこで分解だが、あまりにも久しぶりで、やり方も忘れてる。
そして、どうせバラすなら、シリアルポートをつけようと決めた。
4ピンのコネクタを自宅ジャンクで探したけど、見つからない。 5ピンのはあったから、これのピンを1つ引き抜いて、4ピンにして 玄箱/HGのメイン基板の「J1」にハンダづけだが、その前に R76を細い線でショートさせておく。
そして、前々から買っておいた、9-KEのケータイケーブルを外に出し、
これまた用意しておいた「シリアル-USB」でマックやザウルスとつなぎ、 観察しようと思うわけだ。
スピードは57600でノンパリ。これを忘れないように。
今回、マックにUSB-RSAQ5(IO-DATA)をさし、9-KEと直結。
マックで、「ターミナル」を立ち上げ、
% cu -l '/dev/cu.I-O DATA USB-RSAQ5' -s 57600 でやってみました。記録は以下の通り。(別のターミナルからkuroboxをREBOOT)
Fairy:~ kamii$ cu -l /dev/cu.I-O\ DATA\ USB-RSAQ5 -s 57600
Connected.
INIT: Stopping atd: [  OK  ]
Stopping cups: [  OK  ]
Shutting down FAM: [  OK  ]
Shutting down xfs: [  OK  ]
Stopping httpd: [  OK  ]
Stopping rwho services: [  OK  ]
Stopping sshd:[  OK  ]
Shutting down SMB services: [  OK  ]
Shutting down NMB services: [  OK  ]
Stopping INET services: [  OK  ]
Stopping crond: [  OK  ]
Shutting down ntpd: [  OK  ]
Saving random seed:  [  OK  ]
Stopping portmapper: [  OK  ]
Shutting down kernel logger: [  OK  ]
Shutting down system logger: [  OK  ]
Shutting down interface eth0:  [  OK  ]
Shutting down loopback interface:  [  OK  ]
Stopping murasaki:  [  OK  ]
Starting killall:  [  OK  ]
Sending all processes the TERM signal... 
Sending all processes the KILL signal... 
Syncing hardware clock to system time 
Turning off swap:  
Turning off quotas:  
Unmounting file systems:  
Please stand by while rebooting the system...
Restarting system.


U-Boot 1.1.4 LiSt 2.1.0 (Sep 21 2006 - 00:14:53) LinkStation HG / KuroBox HG

CPU:   MPC8245 Revision 1.4 at 262.144 MHz: 16 kB I-Cache 16 kB D-Cache
DRAM:  128 MB
FLASH:  4 MB
*** Warning - bad CRC, using default environment

        00  0b  10ec  8169  0200  ff
        00  0c  1095  0680  0101  ff
        00  0e  1033  0035  0c03  ff
        00  0e  1033  0035  0c03  ff
        00  0e  1033  00e0  0c03  ff
Net:   RTL8169#0


KERNELBASE=c0000000 (r6=7fff00 r7=7fff0e) r3=7ffec0 (r4=0 r5=0)
Linux version 2.6.20-kuroboxHG (kamii@kurobox) (gcc バージョン 3.4.6) #12 Wed Mar 14 21:30:08 JST 2007
gen550_init
Early serial console at MMIO 0x80004600 (options '57600n8')
BUFFALO Network Attached Storage Series
(C) 2002-2005 BUFFALO INC.
arch: exit
Zone PFN ranges:
  DMA             0 ->    32768
  Normal      32768 ->    32768
early_node_map[1] active PFN ranges
    0:        0 ->    32768
Built 1 zonelists.  Total pages: 32512
Kernel command line: root=/dev/hda1
openpic: enter
OpenPIC Version 1.2 (1 CPUs and 11 IRQ sources) at 80040000
openpic: timer
openpic: external
openpic: spurious
openpic: exit
PID hash table entries: 512 (order: 9, 2048 bytes)
decrementer frequency = 32.522240 MHz 
Console: colour dummy device 80x25
Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
Memory: 127104k available (1912k kernel code, 704k data, 120k init, 0k highmem)
Mount-cache hash table entries: 512
NET: Registered protocol family 16
             
PCI: Probing PCI hardware
PCI: Cannot allocate resource region 1 of device 0000:00:00.0
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
NET: Registered protocol family 2
IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
TCP established hash table entries: 4096 (order: 2, 16384 bytes)
TCP bind hash table entries: 2048 (order: 1, 8192 bytes)
TCP: Hash tables configured (established 4096 bind 2048)
TCP reno registered
io scheduler noop registered
io scheduler anticipatory registered (default)
io scheduler deadline registered
io scheduler cfq registered
I2C: rs5c372 RTC driver successfully loaded
Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing disabled
serial8250.0: ttyS0 at MMIO 0x80004600 (irq = 26) is a 16550A
serial8250.1: ttyS1 at MMIO 0x80004500 (irq = 25) is a 16550A
RAMDISK driver initialized: 2 RAM disks of 8192K size 1024 blocksize
loop: loaded (max 8 devices)
r8169 Gigabit Ethernet driver 2.2LK loaded
r8169 0000:00:0b.0: PowerManagement capability not found.
eth0: RTL8169s/8110s at 0xc9000f00, 00:0d:0b:69:5b:be, IRQ 16
eth0: 100Mbps Half-duplex operation.
Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
SiI680: IDE controller at PCI slot 0000:00:0c.0
SiI680: chipset revision 2
siimage: IDE controller MMIO ports not available.
SiI680: BASE CLOCK == 100
SiI680: 100% native mode on irq 17
    ide0: BM-DMA at 0xbffed0-0xbffed7, BIOS settings: hda:pio, hdb:pio
    ide1: BM-DMA at 0xbffed8-0xbffedf, BIOS settings: hdc:pio, hdd:pio
hda: SAMSUNG SV1604N, ATA DISK drive
ide0 at 0xbffef8-0xbffeff,0xbffef6 on irq 17
hda: max request size: 64KiB
hda: 312581808 sectors (160041 MB) w/2048KiB Cache, CHS=19457/255/63, UDMA(100)
hda: cache flushes supported
 hda: hda1 hda2 hda3
physmap platform flash device: 00400000 at ffc00000
physmap-flash.0: Found 1 x16 devices at 0x0 in 8-bit bank
 Amd/Fujitsu Extended Query Table at 0x0040
physmap-flash.0: Swapping erase regions for broken CFI table.
number of CFI chips: 1
cfi_cmdset_0002: Disabling erase-suspend-program due to code brokenness.
cmdlinepart partition parsing not available
RedBoot partition parsing not available
Using physmap partition information
Creating 5 MTD partitions on "physmap-flash.0":
0x00000000-0x00300000 : "mtd_firmimg"
0x00300000-0x00370000 : "mtd_bootcode"
0x00370000-0x00380000 : "mtd_status"
0x00380000-0x00400000 : "mtd_conf"
0x00000000-0x00400000 : "mtd_allflash"
usbmon: debugfs is not available
ehci_hcd 0000:00:0e.2: EHCI Host Controller
ehci_hcd 0000:00:0e.2: new USB bus registered, assigned bus number 1
ehci_hcd 0000:00:0e.2: irq 19, io mem 0xbfffcf00
ehci_hcd 0000:00:0e.2: USB 2.0 started, EHCI 1.00, driver 10 Dec 2004
usb usb1: configuration #1 chosen from 1 choice
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 5 ports detected
ohci_hcd 0000:00:0e.0: OHCI Host Controller
ohci_hcd 0000:00:0e.0: new USB bus registered, assigned bus number 2
ohci_hcd 0000:00:0e.0: irq 19, io mem 0xbfffe000
usb usb2: configuration #1 chosen from 1 choice
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 3 ports detected
ohci_hcd 0000:00:0e.1: OHCI Host Controller
ohci_hcd 0000:00:0e.1: new USB bus registered, assigned bus number 3
ohci_hcd 0000:00:0e.1: irq 19, io mem 0xbfffd000
usb usb3: configuration #1 chosen from 1 choice
hub 3-0:1.0: USB hub found
hub 3-0:1.0: 2 ports detected
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
mice: PS/2 mouse device common for all mice
i2c /dev entries driver
TCP cubic registered
NET: Registered protocol family 1
NET: Registered protocol family 17
Adding console on ttyS0 at MMIO 0x80004600 (options '57600n8')
kjournald starting.  Commit interval 5 seconds
EXT3-fs: mounted filesystem with ordered data mode.
VFS: Mounted root (ext3 filesystem) readonly.
Freeing unused kernel memory: 120k init
INIT: version 2.85 booting
			Welcome to Vine Linux
		Press 'I' to enter interactive startup.
Mounting proc filesystem:  [  OK  ]
Configuring kernel parameters:  [  OK  ]
Setting clock : Sun Dec 21 16:49:37 JST 2008 [  OK  ]
Activating swap partitions:  [  OK  ]
Setting hostname kurobox:  [  OK  ]
Mounting USB filesystem:  mount: fs type usbdevfs not supported by kernel
[FAILED]
Checking root filesystem
[/sbin/fsck.ext3 (1) -- /] fsck.ext3 -a /dev/hda1 
/dev/hda1: clean, 189662/1281696 files, 1212297/2560351 blocks
[  OK  ]
Remounting root filesystem in read-write mode:  [  OK  ]
Checking filesystems
Checking all file systems.
[  OK  ]
Mounting local filesystems:  [  OK  ]
Enabling local filesystem quotas:  [  OK  ]
Enabling swap space:  [  OK  ]
/bin/cat: /proc/ksyms: No such file or directory
INIT: Entering runlevel: 3
Entering non-interactive startup
Starting timestamp:  [  OK  ]
Starting murasaki:  [  OK  ]
Setting network parameters:  [  OK  ]
Bringing up loopback interface:  [  OK  ]
Bringing up interface eth0:  [  OK  ]
Bringing up interface eth1:  [  OK  ]
Bringing up interface wlan0:  [  OK  ]
Starting portmapper: [  OK  ]
Starting system logger: [  OK  ]
Starting kernel logger: [  OK  ]
Starting NFS common utilities: statd lockd.
Initializing random number generator:  [  OK  ]
Mounting other filesystems:  [  OK  ]
Starting NFS servers: nfsd mountd.
Starting INET services: [  OK  ]
Starting ramdisk:  [  OK  ]
Starting cups: [  OK  ]
Starting sshd:  [  OK  ]
Starting keytable:  [  OK  ]
Starting postgrey:  [  OK  ]
Starting console mouse services: (no mouse is configured)
Starting crond: [  OK  ]
Starting FAM: [  OK  ]
Starting xfs: [  OK  ]
Starting AppleTalk services: 
  Starting atalkd:[  OK  ]
  Registering kurobox:Workstation: [  OK  ]
  Registering kurobox:netatalk: [  OK  ]
  Starting papd:[  OK  ]
  Starting cnid_metad:[  OK  ]
  Starting afpd:[  OK  ]

Starting SMB services: [  OK  ]
Starting NMB services: [  OK  ]
Starting atd: [  OK  ]
Start services: ppc_uartd
Starting httpd: [  OK  ]
Starting system message bus
Starting NFS common utilities: statd lockd.
Starting NFS servers: nfsd mountd.
Starting rwho services: [  OK  ]
Starting bluetooth:  [  OK  ]
Starting hdparm:  [  OK  ]
ntpd: Synchronizing with time server: [  OK  ]
Starting ntpd: [  OK  ]
Starting postfix:  [  OK  ]
Starting wizd:  [  OK  ]
INIT: no more processes left in this runlevel
こんな感じ。最後は"~."を打って、cuを終了。
おっと、kuroboxの /etc/inittab を修正してシリアルコンソールからも ログインできるようにしよう。
con:2345:respawn:/sbin/agetty 57600 ttyS0
を追加。ここで注意するのが、あっちこっちでは console と 書かれているが、 console ではなくて、 ttyS0 を使うのが重要。 (どっちでも大丈夫ではあるが。。。)
(2007.03.08) というわけで、なぜUSB-BlueToothが機能しなくなったのか、原因を追及。
一つは、カーネルを何回も作り替えてる間に、いつしか、BlueToothパッチを かけるのを忘れていた。いまは、kuroboxHGよう用パッチとBlueTooth用 パッチ(-mh)の2つ。ただし、これを入れるとカーネルバージョンが 2.6.20-mh-kuroboxHGのようになてしまって、これはこれで困るので さらに、手でMakefileの4行目を修正して -mh をはずす。
もう一つの原因はよくはわからないのだが、hcidなどの/sbin/hcidでなく /usr/local/sbin/hcidなんどのようにしてたことなのか。 さらにもう一つmodprobe,depmodなどもそうだ。新しいのを/usr/local/bin側に 入れていたが、これが失敗のようだ。
それでリンクを張った。とかをやったら、いつのまにかまた 機能するようになってきた。やっとこさ、これでBlueTooth-HeadPhoneの 実験ができるようになる。
(2007.03.08) 前回、「USB無線LANのTEW-429UBが動き出してくれた」と書いたが、
動き出したのは確かだが、実際には、自宅のAirMacのアクセスポイントには つながっていなかった。
いろいろ調べてるうちに、じつは、カーネル2.6では、zd1211(B)は
組み込んでくれるということに気がついた。
なので、いままでのことは放棄して、これを利用することに方針変更した。
でもいままでのほうがいい点は、つながったときのインターフェース名が wlan0という
名称になること。こっちのカーネルに組み込みのほうだと
つながったとき、eth1という表示になる。なんとなく面白くない。
しかし、たしかにこっちだとAirMac接続までいける。
モジュール名はいままでだと、zd1211とzd1211bだったけど、今度のはzd1211rwという
名称になる。この名前からもわかるように、この装置のフラッシュメモリーに
書き込みをする。ファームウェア書き換えをする。
だから、じつは、フラッシュ書き込みの制限があるので
そういう意味では不安がある。が、まあいいことにしよう。
それと、まだ不可解で未納得なところもある。
USBを挿したときに、自動で接続になって欲しくて、そういう記述に
してあるのに、ESSIDの設定がちゃんとしてくれてない。
設定では、例えば、iwconfig eth1 essid ABCDEF のようにしてあったとしても
最初の1字しか読み取ってくれない。
iwconfig eth1
で、見ると ESSID A のようになってしまう。なので、APにつながってくれない。
その後に、手動で iwconfig eth1 essid ABCDEF のように打つと、こんどは
正しく設定されて、こんどはアクセスポイントとつながる。
なので、挿して自動でオーケー。というふうにはなっていない。
これが未解決の部分である。
今現在、妥協してる、接続手順は、
1.USB無線LANアダプタ(TEW-429UB)を挿す。
2.SUになって、 # iwconfig eth1 essid XXXXXXX
3.SUになって、 # iwconfig eth1 rate 54M
以上で接続完了。である。
(注)ファームウェアのデータは/lib/firmware/zd1211/の下に置く。
もう一ヶ所、/usr/lib/murasaki/firmware.d/zd1211/の下に置く。

そうこうしてるうちに、別のトラブルが。
なにげにBlueToothを挿したら、いままで認識されてたのに、
こんどは認識されなくなってしまった。こっちのほうも直さなきゃならなくなった。
(2007.03.03) やっと、玄箱/HGのほうで、USB無線LANのTEW-429UBが動き出してくれた。
これのチップがzd1211Bなので、このドライバーをソースから コンパイルした。
せっかくなんで、このzd1211bとzd1211の両方の モジュールを保存しとこ。(2.6.20-kuroboxHG)
(2007.02.28)
おお、やっとこさ、リナザウと玄箱/HGとをBlueToothでネット接続するのに 成功した。いまこれを打ってるのもそうやって接続して、 リナザウから打ってます。詳しいことは Linux-Zaurusのページのほうで。
(2007.02.24)
u-bootの記録を置いておきます。
(2007.02.23)
偶然にも U-BOOT(das u-boot)というのをWEBで見つけた。おお、なんて便利な ものがあるんだろ。
これなら安心してカーネルを入れ換えることができる。
(2007.02.21)
玄箱/HGで使われているイーサーのチップは100Mの Realtek RTL8110S-32です。
これをカーネルに組み込んでおかないと、困ったことになる。
そのように、 # make menuconfig する。(100M Ether のところ)
やっと明かりが見えてきた。何度、繰り返したことか。。。
そしてやっと光明が見えてきた。こんな感じです。
何度も試してるうちに、こうすればいいとなんとなくわかった。
直前に、ごく普通に# shutdown -r now する。
立ち上がったとわかったら、メモリィーがガチャガチャいじられないうちに、 早めに、「カーネル置き換え」つまり、
# sync ; sync ; insmod loader/loader.o kernel=./vmlinux.bin
を行う。
このとき、本体正面の2つのLEDは普段通りのままで、変化はない。
しかし、しばらくするとHDが動き出すのが音でわかる。LEDではわからない。
http://www.yamasita.jp/cgi-bin/BBS/eztree.cgi?action=view&view_num=2554
が参考になった。
そして、やっと一回、無事にカーネルが入れ替わった。
しかし、少しぼやっとしてる間に、止まってしまった。
何分か経つとどうやら死んでしまうようだ。
玄箱/HG本体正面を見たら、赤LEDが5回点滅を繰り返している。
ここ(感謝!!) を見ると、5回点滅の意味は「FLASH ROM 異常 コンセントを抜き、 一晩放置すると回復する事も」とある。
ああ、もう少しだね。 これが起きないようにするには、何か方法がありそうだ。 なにかをし忘れてるか。。。
こことか ここが 気になった。
こう書かれている。
>>>>    ppc_uartd が起動時に送信
AAAA    ppc_uartd が起動時に送信
FFFF    ppc_uartd が起動時に送信
JJJJ    ppc_uartd が起動時に送信
KKKK    ppc_uartd が起動時に送信
TTTT    Flash 更新終了 ap_servd が使用 POWER, DISK FULL, DIAG の
        各 LED の点滅が止まる UUUU とペア
UUUU    Flash 更新開始 ap_servd が使用 POWER, DISK FULL, DIAG の
        各 LED が点滅する TTTT とペア
ZZZZ    ppc_uartd が起動時に送信 POWER LED のゆっくり点滅解除?
kkkk    DIAG LED が5回点滅(FLASH ROM 異常)を繰り返し、
        電源断される シャットダウンではないので、要注意
# /bin/echo -n "CCCC" > /dev/ttyS1 で CCCC が送れる。
AAAAFFFFJJJJ>>>>VVVV>>>>ZZZZVVVVKKKK全部を送るといいのか。でもこわい
次にすることは、誰が(どのプログラムが)"kkkk"を出してるのかを探すことか。
あ、# fgrep -lr kkkk で探したけど、見つからない。
つぎは、それぞれの立ち上がってすぐの ps ax を記録して差を調べた。 そうすると、一つ、[khubd]だけが走ってない。
この[khubd]の役目は。。。
これ以外はまるっきり同じだった。
あれ、おかしいおかしい。共に/usr/sbin/ppc_uartdが走ってない。 samba関係も走ってない。
(2007.02.19)
ZAURUS(SL-C3200)をいじっていて、BlueTooth-PAND-サーバーを kuroboxに入れたくて、またぞろ、玄箱/HGをいじりはじめた。
だいぶ、遠のいていたので、忘れてることがいっぱい。
復習を兼ねて、メモ
  • kurobox玄箱/wo/HGのカーネルは【2.4.17_kuro-box】で、
    kurobox玄箱/HGのカーネルは【2.4.17_mvl21】で、
    HD-H160LAN(HD-HGLAN)(LinkStation)のは【2.4.17_mvl21-sandpoint】
    いまkurobakoを % uname -a すると、
    【Linux kurobox 2.4.17_mvl21 #24 2004年 10月 19日 火曜日 17:17:03 JST ppc unknown】となる。玄箱/HGである
    だいぶ前に、http://www.yamasita.jp/linkstation/山下さんの 「LinkStation(リンクステーション)/玄箱(くろばこ)をハックしよう」を 参考に入れ替え(Vine化?)をしたからだと思う。もう忘れた。
    で、いま、困って、昔のことを振り返ってるという次第。
  • HD-HGLAN(LinkStation)のほうは新しいファームウェアがVer.1.40で
    -rw-rw-r--  1 yasunari root  3006967 Sep  9  2003 hlan130/firmimg.bin*
    -rw-rw-r--  1 yasunari root  3006967 Sep  9  2003 hlan131/FIRMIMG.BIN*
    -rw-rw-r--  1 yasunari root  3006967 Sep  9  2003 hlan132/FIRMIMG.BIN*
    -rw-rw-r--  1 yasunari root  3009954 Mar  5 14:37 hlan140/FIRMIMG.BIN*
    
    ★★ firmimg.bin にはカーネル(vmlinux)とramdisk(initrd)のgzが含まれている。
  • HD-HGLAN(LinkStation)のほうは % uname -a では
    2.4.17_mvl21-sandpoint #981 2004年 3月 5日 金曜日 14:37:24 JST ppc unknown
    /lib/modules/VERSION/build のリンク先が
    /home/toda/nas_project/hd-hlan/1.40/kernel_melext3_93C56
    でも、これが1.40でなく、古いバージョン(1.3x)だと、
    /home/toda/nas_project/hd-hlan/1.30/kernel_melext3
    それから、こういうのは?、これは何?
    /home/toda/nas_project/giga-box/1.00/linux-2.4.17_kb
  • /lib/modules/2.4.17_mvl21-sandpoint の下をHDに残しておいたのは、
    このHDをLinkStationのほうに持っていっても大丈夫なようにだったかな?
  • 今日現在のkuroboxにtelnetでログインすると、つぎのような表題になる。
    Vine Linux 3.1 (Pichon Lalande)
    Kernel 2.4.17_mvl21 on a ppc
    つまり、Vine3.1だと名乗ってる。
  • いまのkuroboxで、# cat /dev/fl1 > /tmp/fl1 して、FLASH-ROMの一部を 取り出した。そして、 # strings -n 7 /tmp/fl1 | sort | uniq | less して、観察 したら、つぎの文字列を発見した。
    FLASH 1.0
    KURO-BOX/HG(IESHIGE)
    vmlinux
  • カーネルを新しいのに取り換えるには、このFLASH-ROMにvmlinux書き込まないと いけない。
    だけど、それをいきなりするのはこわいので、疑似的にそれを行うローダ(loader.o) モジュールを利用して実験してみたいと思う。
  • もちろん参考にしたのは 先月までのハックの全記録である。ここを中心に、あれこれ参考にした。



■玄箱/HGを改造して Vine-Linux-Server化
(2005.08.15)
玄箱/HGとLinkStation HGLAN はどうやら同じブツということなので さっそく、Vineにしてしまう。
やってみて、どうも気になる点がある。 それを解明せねば。
1.USBが変だ。起動のあとに差してもmurasakiがいうことをきいてくれない。
2./wwwつまりHTTPがうまく働かない。