


Linux  USB LinQ CABLEɥ饤Ȥ߹ˡ


							 May. 19, 2000 
							 May. 23, 2000 ǽ
							  



  ܥɥȤ Linux kernel 2.3 ˤ롢USB ³֥ɥ饤Ф
ưĶȤ߹߼ˤĤƵܤΤǤ롣


----------------------------------------------------------------------------

* Index:

1.0 ưǧĶ
  1.1 ݡȤǥХ

2.0 ɥ饤ФȤ߹ˡ
  2.1 ե빽
  2.2 Ȥ߹߼
    2.2.1 ͥ륽ؤ
    2.2.2 config, make
    2.2.3 /proc ե륷ƥν
    2.2.4 ǥХեκ

3.0 ɥ饤Фλˡ

----------------------------------------------------------------------------


1.0 ưǧĶ

  ܥɥȤоݤȤʤɥ饤ФϡʲδĶǤưǧƤ롣


	* Linux kernel 2.3.99-pre5
	* Linux kernel 2.3.99-pre6

  Linux kernel 2.3.99-pre7  pre8 ˤĤƤϡUSB ݡȤΤΤ
  ۾郎餷USB üҤ˲ĤǤ USB ǥХ³Ƥ
  (줬 USB Hub ǤäƤ) kernel panic 򵯤ȤǧƤ롣



  1.1 ݡȤǥХ

    ʲ USB ǥХݡȤƤ롣

	NEC PK-UP010    (AN2720)
        ELECOM UC-NBB   (PL2302)

    Ʊͤ Endpoint ƱͤΥǥХǤС
    Vendor / Product ID ɲä뤳Ȥǡǧ뤳ȤǽȻפ롣




2.0 ɥ饤ФȤ߹ˡ


  2.1 ե빽

     ɥ饤ФϡʲΥե깽롣

	linQcable.c
	linQcable.h
	linQcable.diff



  2.2 Ȥ߹߼
      
      ʲκȤ Linux kernel ΥǥХɥ饤ФˤȤǤ뤿ᡢ
      ̤ۤˤ錄ä root ¤ˤƹԤɬפ롣



    2.2.1 ͥ륽ؤ

	  ޤlinQcable.c Linux kernel ĥ꡼ linux/drivers/usb
	  ǥ쥯ȥ˥ԡ롣
	   ͥΥ /usr/src/linux ʲŸƤ

	           /usr/src/linux/drivers/usb/

	  ʲȤȤˤʤ롣

	  ΤޤޤǤϥե뤬ĥ꡼ˤʤΤǡmake  config
	  оݤȤʤ褦ˡƱǥ쥯ȥ Makefile  Config.in 
	  롣

	  սΤ(Ʊ˽ǹԤΤ)֤Τǡ
	  ֤ʤ٤ѰդΤ linQcable.diff Ǥ롣Ʊǥ쥯ȥ
	  ȥǥ쥯ȥˤơ

		  # patch -p0 < ***ɤ***/linQcable.diff

	  ¹Ԥ뤳ȤǡMakefile, Config.in Ȥ˽롣

	  ޤѥɬפʥإåեǤ linQcable.h ϡ
	  ΥǥХѤ륢ץꥱݤˤѤ
	  ᡢlinux/include/linux ʲ˥ԡ롣 /usr/src/linux
	  ʲŸƤʤ顢

		  /usr/src/linux/include/linux/

	  ʲ˳롣

	  ʾǥĥ꡼ؤȤ߹ߤϽλǤ롣



    2.2.2 config, make

	   kernel  make ȤƱͤμǡkernel  config 
	  Ԥ(make menuconfig ⤷ make xconfig )
	  ΤȤ"USB Support" ιܤ

	          "USB LinQ CABLE support"

	  ȤܤɲäƤϤʤΤǡ "m" ˤ(Τ
	  ʤ顢"m" 򤹤뤿ˤ "Loadable module support" 
	  "Enable loadable module support"  "y" ˤʤäƤʤФʤʤ)

	  ޤʤ "USB Support" ιˤ

		  "Preliminary USB device filesystem"

	  åƤ뤳ȤǧåƤʤ
	  å롣	  


	  config λ顢ʤȤʤΤ kernel  make 롣

		 # make clean
		 # make dep
		 # make
		 # make modules

	  Τ褦ˤ kernel  make 顼ʤλ make Ͻλ
	  Ǥ롣ޤ֡ȤǤ֤ˤϤʤäƤʤ

	  ʳǸ߻ȤäƤ kernel ĤǤⵯưǤ褦θ
	  ٤Ǥ뤬ˡˤĤƤ JF ɥ򻲾Ȥ
	  

	  ä

		 # make bzlilo
		 # make modules_install

	  Ȥơkernel  lilo ֡ȤǤ褦ˤkernel modules 
	  󥹥ȡ뤹롣

	  ʤƵư kernel ƳϴλǤ롣



    2.2.3 /proc ե륷ƥν

	  USB ǥХξǧǤ褦ˡ/proc filesystem ʲˡ
	  USB device file system  mount 롣

	  Ūˤϡmount ޥɤѤ

		  # mount -t usbdevfs none /proc/bus/usb

	  Ȥ롣ޤ󤳤ΤݤǤȤΤǡ
	  /etc/fstab  ʲιԤɲä뤳Ȥ򤪴᤹롣

	  -----------------------------------------------------------
  	  none        /proc/bus/usb      usbdevfs defaults       0 0
	  -----------------------------------------------------------




    2.2.4 ǥХեκ

	  ɥ饤ФȥץꥱζϤ򤹤ǥХե롣
	  ϴñǡ

		# mknod /dev/usblinq0 c 180 66
		# mknod /dev/usblinq1 c 180 67
		# mknod /dev/usblinq2 c 180 68
		# mknod /dev/usblinq3 c 180 69

	  Ȥɤ/dev ǥ쥯ȥʲˡLinQ CABLE ѤΥǥХ
	  ե뤬ƤȦǤ롣

	  ʤܥɥ饤ФϡLinux kernel ˺Ѥ줿ΤǤϤʤᡢ
	  ǳƤƤǥХեΥޥʡֹ 6669 ϡ
	  Ƕդ̵ƤΤǤ(᥸㡼ֹ
	  180 ϡUSB ǥХ̤ۤͿ줿)
	  ʸ꡼ kernel ΥСˤäƤϡΤޤ޻ѤǤ
	  ʤʤǽ롣

	  # ʤˡץ󥽡Ȥȯɽʥɥ饤ФȤ
	  # Linus Ȥ߹Ǥ餦ȤĿŪˤơ




3.0 ɥ饤Фλˡ

    ܥɥ饤Ф Linux  kernel module ȤƼƤ뤿ᡢʲ
    դǥ⥸塼Ȥ߹ޤʤлѤǤʤ

    root ¤ˤơ

		# /sbin/insmod /lib/modules/2.3.99-pre5/usb/linQcable.o

    ¹Ԥ뤳Ȥǡɥ饤ФȤ߹ޤ롣

		# cat /proc/bus/usb/drivers

    νϤˡ

		 66- 81: usb_linQcable

    ȤԤޤޤƤȤ߹ߤǤ롣ξ֤ USB üҤ
    оݤȤʤǥХ³С/dev/usblinq0  /dev/usblinq3 
    ͭˤʤ롣

    # Ƥϡ/dev/usblinq0 ȤƤΤ餪ʤ롣


ʾ塣
