Hack BBS

[全部のスレッド一覧][新規投稿][記事の削除・変更] [Home Page]

返信投稿はタイトルのリンクをクリックして下さい
スレッド【No.2806】の中の記事をすべて表示しています

【No.2806】のスレッド
05/07/23(土) 16:49:31 投稿者[「いも」【No.2495】改め「なす」] [No.2806]のスレッド内
【No.2806】 タイトル[HG-LANへのUSB-UPSで苦戦...orz] この記事がスレッドの最初です
山下さま

お世話になっております。GW頃にhackkit化したものですが、
過去ログを呼んでいてハンドルがかぶっていたので改めました。
あまりこちらには立ち寄っておりませんでしたが、
本屋にではhackkitの本を見たことがありまして、ご活躍何よりと思っておりました。

その後、我が家のHD-HG250LANも順調に育ちまして、
もう1台hackkit化していないHD-160LANとの間で、
以下のような環境が構築できました。

基本的には信頼性向上・二重化が目的でしたので、
・rsyncでHD-LANを丸ごと日次差分ミラーリング(→HG-LANへ)
・HG-LANでsambaで公開している以外の部分について、
 afioにより日次圧縮差分バックアップ(→HD-LANへ)
・とはいえついでにwizdを入れてLinkTheaterでの視聴
と、ぼちぼち充実してきました。

さて、ここから本題ですが...信頼性向上を重視しているため、
「夏を迎えて必要なのは、やはりUPS」と改めて思い立ち、
十分なリサーチを怠ったまま、APC ES 725を購入してしまいました。
(だって安かったんだもん)

で...UPSからの自動shutdownを目論んだところではまっております。

以前、「【No.1709】のスレッド:USB-UPSが使えるか?」に
十分に有益な情報が詰まっているのですが、かすっている感じです。
(ミッキーさんは玄箱、当方はHG-LANのせい?)

当方の苦しみは、hid.oが組み込まれるのに、ドライバとして認識されない点です。
(いや、ここまで至るにも十分苦労したんですが..)
現状のカーネルバージョンの限界とも、ほぼ考えていますが..

<やったこと>
1)たつやさんのところから、all_modules_hglan_040621.tar.gzを入手し、
  手順どおりインストール。当然ですがdepmod -a重要。
2)UPSをUSBに刺して、/var/log/messagesの情報を元に、
  /etc/murasaki/murasaki.usbmapを編集。→hidを読むように。
3)apcupsdについていたexamples/make-hiddevで仕込み。
#cat make-hiddev
#!/bin/sh
mkdir -p /dev/usb/hid
mknod /dev/usb/hid/hiddev0 c 180 96
...
mknod /dev/usb/hid/hiddev15 c 180 111
4)再度刺すと、ここまでやったことは生きていそう。/var/log/messagesより
Jul 23 15:28:28 freedom kernel: hub.c: new USB device 00:0e.0-1, assigned address 8
Jul 23 15:28:28 freedom kernel: usb.c: USB device 8 (vend/prod 0x51d/0x2) is not claimed by any active driver.
Jul 23 15:28:28 freedom murasaki.usb[26648]: usb device is added
Jul 23 15:28:28 freedom murasaki.usb[26648]: vendor:0x51d product:0x2 Dclass:0x0 Dsubclass:0x0 Dprotocol:0x0 Iclass:0x3 Isubclass:0x0 Iprotocol:0x0
Jul 23 15:28:28 freedom murasaki.usb[26648]: MATCH(hid) -> match_flags:0x83 vendor:0x51d product:0x2 Dclass:0x0 Dsubclass:0x0 Dprotocol:0x0 Iclass:0x3 Isubclass:0x0 Iprotocol:0x0
Jul 23 15:28:28 freedom murasaki.usb[26648]: MATCH(hid) -> match_flags:0x80 vendor:0x0 product:0x0 Dclass:0x0 Dsubclass:0x0 Dprotocol:0x0 Iclass:0x3 Isubclass:0x0 Iprotocol:0x0
Jul 23 15:28:28 freedom murasaki.usb[26648]: Loading hid
Jul 23 15:28:28 freedom kernel: usb.c: registered new driver usbdevfs
Jul 23 15:28:28 freedom kernel: usb.c: deregistering driver usbdevfs
Jul 23 15:28:28 freedom kernel: usb.c: registered new driver hub
Jul 23 15:28:28 freedom kernel: usb.c: registered new driver hiddev
Jul 23 15:28:28 freedom kernel: usb.c: registered new driver hid
Jul 23 15:28:28 freedom kernel: hid-core.c: v1.8.1 Andreas Gal, Vojtech Pavlik <vojtech@suse.cz>
Jul 23 15:28:28 freedom kernel: hid-core.c: USB HID support drivers

# lsmod
Module Size Used by Tainted: GF
hid 24020 0 (unused)
input 6272 0 [hid]
usbcore 79468 0 [hid]

しかし、ロードされたhidがデバイスと結びついてくれないのです。

# cat /proc/bus/usb/devices
...
T: Bus=02 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 8 Spd=1.5 MxCh= 0
D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
P: Vendor=051d ProdID=0002 Rev= 1.06
S: Manufacturer=APC
S: Product=APC ES 725 FW:821.y1.A USB FW:y1
S: SerialNumber=QB0522143681
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr= 0mA
I: If#= 0 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=00 Prot=00 Driver=(none) ⇒これ!!
E: Ad=81(I) Atr=03(Int.) MxPS= 6 Ivl=10ms

上記のnoneは本来、hidであるべきようなのです....orz

http://www.apcupsd.com/support.htmlのオンラインマニュアルから
「Checking Out Your USB Subsystem」を開いてみると、
「linuxカーネルが2.4.22よりも前だったら、upgradeしてためしてくれ」
とあるのでした。uname -a では"2.4.17_mvl21"と出てくるので、
ここら辺が限界なのでしょうか?

玄箱/HGとHG-LANのカーネル差分はわずかと思っていたのですが、
このあたりがバックポートされた違いだったとか?

ちなみに、
# cat /proc/bus/usb/drivers
usbdevfs
hub
0- 15: usblp
usb-storage
とここでもhidは出てきません。

何かわかる方がいましたら、アドバイスいただけると幸いです。

#すでにカーネル入替に向け、win-qemuのppcエミュレータと
 シリアルコンソール用のケーブルを入手しております..
 ガクガク(((( ;゚Д゚))))ブルブル

#なお、これからの新たな目論見として、
・PLEXTOR USB TVキャプチャBOX PX-TV402U/JP の接続(DivX対応だから)
・MythTV(v4l)の導入
と、無謀なことを考えております。では。