2002-09-09(Mon) 今日は振り替え休日で会社はお休み。 [長年日記]
_ でも
天気がびみょー。お出かけするべきか否か。うーむ。
_ HDD on FireWire/USB for Windows98
昨日買ったキットを試してみる。- century CAC-35U2
- Quantum Fireball EX 4.3G
- Sony VAIO C1XE
_ HDDケース側を給電状態にしておきFireWireなケーブルを接続後VAIOを起動...ふむ、D,Eドライブとして認識された。もともとFireballは2G+2GのFATでフォーマットされてたのだが両方とも見えるようす。小さいファイルの読み書きもOK。だがどうやってホットプラグではずすんだ?固定ディスク扱いっぽく見えるが。デバイスマネージャで確認すると、リムーバブルにチェックが入ってなかったのでチェックして再起動。今度はリムーバブル扱いになった。一応ホットプラグもOKな様子。
_ ついでにUSB接続も試すがあっさり認識。次は本命のFreeBSDだ。
_ HDD on FireWire/USB for FreeBSD
OSは雑誌付属のもの。最新でもいいんだが事情によりこれ。xelvis# uname -a FreeBSD xelvis.kognet.jp 4.6.1-RELEASE-p7-MYCOM FreeBSD 4.6.1-RELEASE-p7-MYCOM #0: Fri Aug 2 19:04:20 GMT 2002 hiraoka@builder. pc.mycom.co.jp:/usr/src/sys/compile/GENERIC i386まずはドライバから。http://people.freebsd.org/~simokawa/にて入手できるので、最新とおぼしきfirewire-20020717.tar.gzをとってくる。
# cd /usr/src # tar -zxvf /home/kog/firewire-20020717.tar.gz ... (以下展開される) # cd sys/dev/firewire # make install # ./MAKEDEVで準備完了。わくわく。 まずはロードする。
xelvis# make load #-sysctl kern.cam.da.no_6_byte=1 #-sysctl kern.cam.da.enable_128kb=1 kldload firewire kldload sbp kldload if_fwe xelvis#このときのdmesg抜粋
fwohci0:認識してるじゃーん。じゃあケーブルをぽちっとな。mem 0xfedf7c00-0xfedf7dff,0xfedf7000-0xfedf77ff irq 9 at device 8.0 on pci0 fwohci0: PCI bus latency was changing to 250. cache size 8. fwohci0: OHCI version 1.0 (ROM=1) fwohci0: No. of Isochronous channel is 4. fwohci0: resetting OHCI...done (0) fwohci0: BUS_OPT 0xf800a002 -> 0xf800a002 fwohci0: Link 1394a available S400, 3 ports, maxrec 2048 bytes. fwohci0: Enable 1394a Enhancements fwohci0: EUI64 08:00:46:03:00:32:76:87 fwochi_set_intr: 1 firewire0: on fwohci0 firewire0: firewire bus attach firewire0: BUS reset firewire0: node_id = 0xc800ffc0, CYCLEMASTER mode firewire0: 1 nodes, maxhop <= 0, cable IRM = 0 (me) fw_set_bus_manager: 63->0 (loop=0) send phy_config root_node=-1 gap_count=1 start AT DMA status=0 firewire0: txd err= 3 miss Ack err sbp_identify sbp_probe sbp0: on firewire0 sbp_attach if_fwe0: on firewire0 if_fwe0: 0a:00:46:32:76:87 bus_explore done
Device SBP-II sbp_post_explore: EUI:00e0370000007ebe spec=1 key=1. sbp0:0:0 LOGIN sbp0:0:0 ordered:1 type:14 EUI:00e0370000007ebe node:0 speed:2 maxrec:5 new! sbp0:0:0 'CENTURY corporation ' 'CAC-35FU2 ' '000032' sbp0:0:0 login: len 16, ID 0, cmd 0000fffff0100000, recon_hold 0 sbp0:0:0 sbp_busy_timeout sbp0:0:0 sbp_agent_reset sbp0:0:0 sbp_do_attach sbp0:0:0 sbp_cam_scan_lun da0 at sbp0 bus 0 target 0 lun 0 da0:うお!認識された。mount, umountもばっちり。じゃあケーブルを抜いてFixed Simplified Direct Access SCSI-4 device da0: 50.000MB/s transfers da0: 4110MB (8418816 512 byte sectors: 255H 63S/T 524C)
firewire0: BUS reset firewire0: node_id = 0xc800ffc0, CYCLEMASTER mode firewire0: 1 nodes, maxhop <= 0, cable IRM = 0 (me) fw_set_bus_manager: 63->0 (loop=0) send phy_config root_node=-1 gap_count=1 start AT DMA status=12 firewire0: txd err= 3 miss Ack err bus_explore done sbp_post_explore: EUI:00e0370000007ebe not attached, state=3. sbp0:0:0 lost targetついでにモジュールもアンロード。
xelvis# make unload kldunload if_fwe kldunload sbp sleep 2 kldunload firewireこのときのdmesg抜粋。
if_fwe0: detached sbp_detach firewire0: BUS reset firewire0: node_id = 0xc800ffc0, CYCLEMASTER mode firewire0: 1 nodes, maxhop <= 0, cable IRM = 0 (me) fw_set_bus_manager: 63->0 (loop=0) send phy_config root_node=-1 gap_count=1 start AT DMA status=3 firewire0: txd err= 3 miss Ack err sbp_detach_target 0 (da0:sbp0:0:0:0): lost device (da0:sbp0:0:0:0): removing device entry sbp0: detached bus_explore done firewire0: detached fwohci0: detachedちなみにパーティションエディタだとこんな感じ。
Disk name: da0 FDISK Partition Editor DISK Geometry: 524 cyls/255 heads/63 sectors = 8418060 sectors (4110MB) Offset Size(ST) End Name PType Desc Subtype Flags 0 63 62 - 6 unused 0 63 4192902 4192964 da0s1 2 fat 6 4192965 4209030 8401994 da0s2 4 extended 5 8401995 16821 8418815 - 6 unused 0あれ、2つめは拡張で確保されてる。てことはこうやれば読める?
# cd /dev/ # ./MAKEDEV da0s5 # grep da0 /etc/fstab /dev/da0s1 /fire msdos rw,noauto 0 0 /dev/da0s5 /fire2 msdos rw,noauto 0 0 # mount /fire2みえたみえた。
_ すばらしい。下川さんや小林さん、そして協力者の方々に感謝。
ついでにUSB接続も試す。ケーブルを付け替えてぽちっとな。
umass0: CENTURY Corporation CAC-35FU2, rev 2.00/0.00, addr 2 da1 at umass-sim0 bus 0 target 0 lun 0 da1:よしよし。以下準備。Fixed Direct Access SCSI-2 device da1: 650KB/s transfers da1: 4110MB (8418816 512 byte sectors: 64H 32S/T 4110C)
xelvis# cd /dev xelvis# ./MAKEDEV da1s5 xelvis# grep usb /etc/fstab /dev/da1s1 /usb msdos rw,noauto 0 0 /dev/da1s5 /usb2 msdos rw,noauto 0 0mount, umountともばっちり。ただ、usb1.1相当だからあんま早くないんだよねえ。FireWireがあるからいいか。
pciconf -l -v の出力の関連部分も載せておこう。
fwohci0@pci0:8:0: class=0x0c0010 card=0x8063104d chip=0x8039104d rev=0x02 hdr=0x00 vendor = 'Sony Corporation' device = 'CXD3222 OHCI i.LINK (IEEE 1394) PCI Host Ctrlr' class = serial bus subclass = FireWire
関連リンクとして以下をあげておこう。