





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

		# mknod /dev/usblinq4 c 180 70

		# mknod /dev/usblinq5 c 180 71

		# mknod /dev/usblinq6 c 180 72

		# mknod /dev/usblinq7 c 180 73



	  Ȥɤ/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 ȤƤΤ餪ʤ롣





ʾ塣

