vine-users ML アーカイブ



[vine-users:069517] Re: madwifi のインストール:at h0作成できず

  • From: Nukayama Seiichi <billie@xxxxxxxxxxxx>
  • Subject: [vine-users:069517] Re: madwifi のインストール:at h0作成できず
  • Date: Thu, 6 Jan 2005 01:46:13 +0900
糠山です。

かわむらさま、ご返答ありがとうございます。

> 
> From: Nukayama Seiichi <billie@xxxxxxxxxxxx>
> > madwifi をインストールして、modprobe ath_pci とすると、
> > /var/log/messages に
> > ath%%d: unable to attach hardware; HAL status 13
> > というログが出ます。
> > 「デバイス ath0 を作れない」という意味だろうなあと
> > 思います。
> 
> ath%%d の表示が気になります。プログラム的には %d が 0や1などに
> 置き換わるのでは?と思います。
> 恐らくバグではないかと思いますので、日を改めてダウンロードすれば
> 改善されているのではないかと思います。
> 
> または、%%dとなっている部分をソースから見つけてきて、%dに書き換えれば
> うまくいくかも知れません。
> # 私はソースを読んだりしていませんので、予想です。
> 
・・・ということで、ソースを見てみました。たぶん、この部分だと
思います。

madwifi/ath/if_ath.c
--------------------------------------------------------------
266	/*
267	 * Attach the hal and verify ABI compatibility by checking
268	 * the hal's ABI signature against the one the driver was
269	 * compiled with.  A mismatch indicates the driver was
270	 * built with an ah.h that does not correspond to the hal
271	 * module loaded in the kernel.
272	 */
273	ah = _ath_hal_attach(devid, sc, 0, (void *) dev->mem_start, &status);
274	if (ah == NULL) {
275	    printk(KERN_ERR "%s: unable to attach hardware; HAL status %u\n",
276	        dev->name, status);
277	    error = ENXIO;
278	    goto bad;
279	}
280	if (ah->ah_abi != HAL_ABI_VERSION) {
281	    printk(KERN_ERR "%s: HAL ABI msmatch; "
282	        "driver expects 0x%x, HAL reports 0x%x\n",
283	        dev->name, HAL_ABI_VERSION, ah->ah_abi);
284	    error = ENXIO;          /* XXX */
285	    goto bad;
286	}
287	sc->sc_ah = ah;
------------------------------------------------------------
ぼくは、C言語はよくわからないのですが、
「ドライバーは、カーネルにロードされた hal モジュールに
一致していない」・・・? 
・・・ make のしかたがまずかったのでしょうか?
ついでに、ah.h を見ます。

madwifi/hal/ah.h
------------------------------------------------------------
62 /*
63  * Status codes that may be returned by the HAL.  Note that
64  * interfaces that return a status code set it only when an
65  * error occurs--i.e. you cannot check it for success.
66  */
67 typedef enum {
68         HAL_OK          = 0,    /* No error */
69         HAL_ENXIO       = 1,    /* No hardware present */
70         HAL_ENOMEM      = 2,    /* Memory allocation failed */
71         HAL_EIO         = 3,    /* Hardware didn't respond as expected */
72         HAL_EEMAGIC     = 4,    /* EEPROM magic number invalid */
73         HAL_EEVERSION   = 5,    /* EEPROM version invalid */
74         HAL_EELOCKED    = 6,    /* EEPROM unreadable */
75         HAL_EEBADSUM    = 7,    /* EEPROM checksum invalid */
76         HAL_EEREAD      = 8,    /* EEPROM read problem */
77         HAL_EEBADMAC    = 9,    /* EEPROM mac address invalid */
78         HAL_EESIZE      = 10,   /* EEPROM size not supported */
79         HAL_EEWRITE     = 11,   /* Attempt to change write-locked EEPROM */
80         HAL_EINVAL      = 12,   /* Invalid parameter to function */
81         HAL_ENOTSUPP    = 13,   /* Hardware revision not supported */
82         HAL_ESELFTEST   = 14,   /* Hardware self-test failed */
83         HAL_EINPROGRESS = 15,   /* Operation incomplete */
84 } HAL_STATUS;
-------------------------------------------------------------------------------
HAL Status 13 ・・・サポートしていません!!

これは、あきらめろってことでしょうか?

-- 
+-----------------------------------+
|         Nukayama Seiichi          |
|         糠山     誠一             |
|         billie@xxxxxxxxxxxx       |
+-----------------------------------+