[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[plamo:13217] Re: USBを有効にする方法



From: Akinori Nakamura <a-naka@super.win.ne.jp>
Message-Id: <1015209243.32646.11249_Mocchan.a-naka@win.ne.jp>

>  ThinkPAD 235のUSBポートに点じピンディスプレイを接続して使
> いたいと思っています。


USBのようなPCI系デバイスは、本来ならブート時に初期化されて、適宜リソー
ス(IRQやIOメモリなど)が割り当てられているるべきものですが、TP235の
OHCI(というよりBIOS)は特殊で、OHCIのIOメモリが設定されていません。

ですので、OSが自前でリソースを割り当てる(俗に言う Plug and Play OSです
ね) Windows98以降や、Linux2.4以降でないと、USBをうまく扱うことができま
せん。

同様に、一部の Vaio Noteでも、IRQが設定されていないという問題があるよ
うです。TP235の場合は、IRQが振られているだけマシだという説もあります。

>  USB関連のページ、自分でも読んでみたのですが、よくわかってい
> ません。やはりカーネルを2.4にしないとだめでしょうか。

カーネルが2.2の場合、初期化時に無理矢理IOメモリを割り当てれば動作した
りします。大昔、usb-ohci.c に下記のようなパッチを当てて動かしていた実
績はあります。

    # cd /usr/src/linux/drivers/usb
    # patch -p1 < (パッチファイル)

で当てることができますが、いかんせんパッチ自体が 2.2.14 + 2.3.44 バッ
クポートパッチ用ですので、最近の2.2系カーネルでマトモに動くのかは未検
証です。

ちなみに、もし下記パッチが当たれば、usb-ohci.o に mem=xxxxxx とパラメー
タを与えることができます。省略時には 0x60000000 が使われますが、TP235
ならこれで問題ないと思いますので、何も気にせずにモジュールを組み込めば
いいはずです。
_______________________________
田原 俊一   jado@flowernet.gr.jp, shunichi_tahara@zenrin.co.jp
                                  http://flowernet.gr.jp/jado/
FingerPrint:  16 9E 70 3B 05 86 5D 08  B8 4C 47 3A E7 E9 8E D9
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
[以下パッチ]

*** usb.orig/usb-ohci.c	Mon Feb 14 20:35:32 2000
--- usb/usb-ohci.c	Tue Feb 15 16:58:39 2000
***************
*** 1659,1664 ****
--- 1659,1667 ----
  
  /*-------------------------------------------------------------------------*/
   
+ static u_int mem = 0;
+ MODULE_PARM(mem, "i");
+ 
  static int hc_start_ohci (struct pci_dev * dev)
  {
  	u32 cmd;
***************
*** 1676,1681 ****
--- 1679,1693 ----
  	pci_write_config_dword(dev, PCI_COMMAND, cmd);
  
  	pci_set_master (dev);
+ 
+ 	if (!mem_base && !mem)
+ 		mem = 0x60000000;	/* default mem_base */
+ 	if (mem) {
+ 		mem &= PCI_BASE_ADDRESS_MEM_MASK;
+ 		pci_write_config_dword(dev, PCI_BASE_ADDRESS_0, mem);
+ 		mem_base = mem;
+ 	}
+ 
  	mem_base = (unsigned long) ioremap_nocache (mem_base, 4096);
  
  	if (!mem_base) {

Follow-Ups
[plamo:13241] Re: USBを有効にする方法, Akinori Nakamura
References
[plamo:13212] USBを有効にする方法, Akinori Nakamura

[検索ページ] [メール一覧]
Plamo ML 公開システム