2

Linux 3.2.0 にあるカーネル モジュールを変更する必要があります。内drivers/staging/bcmでは、ドライバーはデバイス ID をサポートする必要がありますが、ファイルでは198F:015E代わりにとして言及されていました。これを に変更しましたが、コンパイルが成功した後でも、新しいデバイス ID がカーネルによって取得されません。InterfaceInit.h198F:15E015E

の出力は次のmodinfoとおりです。

filename:       <somewhere/>bcm_wimax.ko
license:        GPL
version:        5.2.45
description:    Beceem Communications Inc. WiMAX driver
srcversion:     D6016018ABCFFD16AF31D22
alias:          usb:v19D2p0007d*dc*dsc*dp*ic*isc*ip*
alias:          usb:v0489pE017d*dc*dsc*dp*ic*isc*ip*
alias:          usb:v19D2p0132d*dc*dsc*dp*ic*isc*ip*
alias:          usb:v198FpBCCDd*dc*dsc*dp*ic*isc*ip*
alias:          usb:v198Fp0220d*dc*dsc*dp*ic*isc*ip*
alias:          usb:v198Fp0210d*dc*dsc*dp*ic*isc*ip*
alias:          usb:v198Fp0300d*dc*dsc*dp*ic*isc*ip*
depends:        
vermagic:       3.2.0-26-generic-pae SMP mod_unload modversions 686 
parm:           debug:Debug level (0=none,...,16=all) (uint)

198F:015Eはまだ表示されません !奇妙なことに、コンパイルを開始すると、モジュールのソース フォルダー内に bcm_wimax.mod.c というファイルが生成されます。modinfoその中で、エイリアスのことを知りました。次のようになります。

 #include <linux/module.h>
 #include <linux/vermagic.h>
 #include <linux/compiler.h>

 MODULE_INFO(vermagic, VERMAGIC_STRING);

 struct module __this_module
 __attribute__((section(".gnu.linkonce.this_module"))) = {
  .name = KBUILD_MODNAME,
  .init = init_module,
 #ifdef CONFIG_MODULE_UNLOAD
  .exit = cleanup_module,
 #endif
  .arch = MODULE_ARCH_INIT,
 };

 MODULE_INFO(staging, "Y");

 static const struct modversion_info ____versions[]
 __used
 __attribute__((section("__versions"))) = {
 };

 static const char __module_depends[]
 __used
 __attribute__((section(".modinfo"))) =
 "depends=";

 MODULE_ALIAS("usb:v198Fp0300d*dc*dsc*dp*ic*isc*ip*");
 MODULE_ALIAS("usb:v198Fp0210d*dc*dsc*dp*ic*isc*ip*");
 MODULE_ALIAS("usb:v198Fp0220d*dc*dsc*dp*ic*isc*ip*");
 MODULE_ALIAS("usb:v198FpBCCDd*dc*dsc*dp*ic*isc*ip*");
 MODULE_ALIAS("usb:v19D2p0132d*dc*dsc*dp*ic*isc*ip*");
 MODULE_ALIAS("usb:v0489pE017d*dc*dsc*dp*ic*isc*ip*");
 MODULE_ALIAS("usb:v19D2p0007d*dc*dsc*dp*ic*isc*ip*");

 MODULE_INFO(srcversion, "D6016018ABCFFD16AF31D22");

しかし、変更しようとしましbcm_wimax.mod.cたが、コンパイル後にファイルが元の状態に戻り、編集が削除されました。198f:015eモジュール エイリアス セクションに my を追加するにはどうすればよいですか?

4

1 に答える 1

2

198F:015Eと同じです198F:15E

カーネル ソースを見ると に興味があるようですBCM_USB_PRODUCT_ID_SYMが、デバイスが にありませんInterfaceUsbtable drivers/staging/bcm/InterfaceInit.c

それを追加して、ドライバーがそのデバイスもサポートすることを願っています。

于 2012-08-05T08:26:31.750 に答える