宮脇です。 栗山さん、鈴木さん、長南さん、続いてのフォローありがとうございます。 > 栗山です。 >LBP-1210のポートは /dev/usb/lp0 ですね。 >この設定でさらに iP4100 をインストールする場合,USBポートを >ダブらないようにしなければなりません。 >従って,lpadminでは >lpadmin -p PIXUSIP4100 -m canonpixusip4100.ppd -v >canon_usb:/dev/usb/lp1 -E というように /dev/usb/lp1 と指定する必要があ >ると思います。 やってみました。しかし、残念ながら Pixus-iP4100 は動いてくれませんでした。 そこで、鈴木さんがおっしゃっているように、udevinfoをやってみました。 >デバイスパス自体が動いて(変化して)しまうのであれば、 >udev の出番でしょう(多分) >udevinfo -a -p PATHで、 >PATH に /sys/bus/usb/devices/ の中のどれかを指定します。 >パス名は dmesg のメッセージを見ると良いかもしれません。 >または、 >udevinfo -a -p `udevinfo -q path -n /dev/usb/lp0` >udevinfo -a -p `udevinfo -q path -n /dev/usb/lp1` >でしょうか。 やってみました。まず、Pixus-iP4100プリンタを外してPCを起動し、 [root@giga root]# udevinfo -a -p `udevinfo -q path -n /dev/usb/lp0` Udevinfo starts with the device specified by the devpath and then walks up the chain of parent devices. It prints for every device found, all possible attributes in the udev rules key format. A rule to match, can be composed by the attributes of the device and the attributes from one single parent device. looking at device '/class/usb/lp0': KERNEL=="lp0" SUBSYSTEM=="usb" DRIVER=="" SYSFS{dev}=="180:0" looking at parent device '/devices/pci0000:00/0000:00:1d.2/usb3/3-1/3-1.3/3-1.3:1.0': ID=="3-1.3:1.0" BUS=="usb" DRIVER=="usblp" SYSFS{ieee1284_id}=="MFG:Canon_MDL:LASER SHOT LBP-1210_CMD:CAPT_VER:1.0_CLS:PRINTER_DES:Canon LASER S HOT LBP-1210" SYSFS{modalias}=="usb:v04A9p2617d0100dc00dsc00dp00ic07isc01ip02" SYSFS{bInterfaceProtocol}=="02" SYSFS{bInterfaceSubClass}=="01" SYSFS{bInterfaceClass}=="07" SYSFS{bNumEndpoints}=="02" SYSFS{bAlternateSetting}==" 0" SYSFS{bInterfaceNumber}=="00" looking at parent device '/devices/pci0000:00/0000:00:1d.2/usb3/3-1/3-1.3': ID=="3-1.3" BUS=="usb" DRIVER=="usb" SYSFS{configuration}=="" SYSFS{serial}=="0139RNOd" SYSFS{product}=="Canon CAPT USB Printer" SYSFS{manufacturer}=="Canon" SYSFS{maxchild}=="0" SYSFS{version}==" 1.10" SYSFS{devnum}=="4" SYSFS{speed}=="12" SYSFS{bMaxPacketSize0}=="8" SYSFS{bNumConfigurations}=="1" SYSFS{bDeviceProtocol}=="00" SYSFS{bDeviceSubClass}=="00" SYSFS{bDeviceClass}=="00" SYSFS{bcdDevice}=="0100" SYSFS{idProduct}=="2617" SYSFS{idVendor}=="04a9" SYSFS{bMaxPower}==" 0mA" SYSFS{bmAttributes}=="c0" SYSFS{bConfigurationValue}=="1" SYSFS{bNumInterfaces}==" 1" looking at parent device '/devices/pci0000:00/0000:00:1d.2/usb3/3-1': ID=="3-1" BUS=="usb" DRIVER=="usb" SYSFS{configuration}=="Standard USB Hub" SYSFS{product}=="Standard USB Hub" SYSFS{maxchild}=="4" SYSFS{version}==" 1.10" SYSFS{devnum}=="2" SYSFS{speed}=="12" SYSFS{bMaxPacketSize0}=="8" SYSFS{bNumConfigurations}=="1" SYSFS{bDeviceProtocol}=="00" SYSFS{bDeviceSubClass}=="00" SYSFS{bDeviceClass}=="09" SYSFS{bcdDevice}=="0300" SYSFS{idProduct}=="3301" SYSFS{idVendor}=="03eb" SYSFS{bMaxPower}==" 64mA" SYSFS{bmAttributes}=="e0" SYSFS{bConfigurationValue}=="1" SYSFS{bNumInterfaces}==" 1" looking at parent device '/devices/pci0000:00/0000:00:1d.2/usb3': ID=="usb3" BUS=="usb" DRIVER=="usb" SYSFS{configuration}=="" SYSFS{serial}=="0000:00:1d.2" SYSFS{product}=="UHCI Host Controller" SYSFS{manufacturer}=="Linux 2.6.16-0vl73 uhci_hcd" SYSFS{maxchild}=="2" SYSFS{version}==" 1.10" SYSFS{devnum}=="1" SYSFS{speed}=="12" SYSFS{bMaxPacketSize0}=="64" SYSFS{bNumConfigurations}=="1" SYSFS{bDeviceProtocol}=="00" SYSFS{bDeviceSubClass}=="00" SYSFS{bDeviceClass}=="09" SYSFS{bcdDevice}=="0206" SYSFS{idProduct}=="0000" SYSFS{idVendor}=="0000" SYSFS{bMaxPower}==" 0mA" SYSFS{bmAttributes}=="c0" SYSFS{bConfigurationValue}=="1" SYSFS{bNumInterfaces}==" 1" looking at parent device '/devices/pci0000:00/0000:00:1d.2': ID=="0000:00:1d.2" BUS=="pci" DRIVER=="uhci_hcd" SYSFS{modalias}=="pci:v00008086d000027CAsv00001458sd00005004bc0Csc03i00" SYSFS{local_cpus}=="ffffffff" SYSFS{irq}=="17" SYSFS{class}=="0x0c0300" SYSFS{subsystem_device}=="0x5004" SYSFS{subsystem_vendor}=="0x1458" SYSFS{device}=="0x27ca" SYSFS{vendor}=="0x8086" looking at parent device '/devices/pci0000:00': ID=="pci0000:00" BUS=="" DRIVER=="" ------------- ここでは、LBP-1210_CMD:CAPT_VER:1.0_CLS:PRINTER_DES:Canon LASER S HOT LBP-1210"となっており、/dev/usb/lp0は LBP-1210につながっていることがわか ります。そして印刷もできました。 それから、Pixus-iP4100プリンタをつないで再起動。そして、下記のコマンドを 打つと、 [root@giga root]# udevinfo -a -p `udevinfo -q path -n /dev/usb/lp0` Udevinfo starts with the device specified by the devpath and then walks up the chain of parent devices. It prints for every device found, all possible attributes in the udev rules key format. A rule to match, can be composed by the attributes of the device and the attributes from one single parent device. looking at device '/class/usb/lp0': KERNEL=="lp0" SUBSYSTEM=="usb" DRIVER=="" SYSFS{dev}=="180:0" looking at parent device '/devices/pci0000:00/0000:00:1d.2/usb4/4-1/4-1.2/4-1.2:1.0': ID=="4-1.2:1.0" BUS=="usb" DRIVER=="usblp" SYSFS{modalias}=="usb:v04A9p1093d0109dc00dsc00dp00ic07isc01ip02" SYSFS{bInterfaceProtocol}=="02" SYSFS{bInterfaceSubClass}=="01" SYSFS{bInterfaceClass}=="07" SYSFS{bNumEndpoints}=="02" SYSFS{bAlternateSetting}==" 0" SYSFS{bInterfaceNumber}=="00" SYSFS{ieee1284_id}=="MFG:Canon_CMD:BJL,BJRaster3,BSCCe_SOJ:TXT01_MDL:iP_4100_CLS:PRINTER_DES:Canon iP_4100_VER:1.09_STA:10_FSI:03_" looking at parent device '/devices/pci0000:00/0000:00:1d.2/usb4/4-1/4-1.2': ID=="4-1.2" BUS=="usb" DRIVER=="usb" SYSFS{configuration}=="" SYSFS{serial}=="1118A3" SYSFS{product}=="iP_4100" SYSFS{manufacturer}=="Canon" SYSFS{maxchild}=="0" SYSFS{version}==" 1.10" SYSFS{devnum}=="7" SYSFS{speed}=="12" SYSFS{bMaxPacketSize0}=="8" SYSFS{bNumConfigurations}=="1" SYSFS{bDeviceProtocol}=="00" SYSFS{bDeviceSubClass}=="00" SYSFS{bDeviceClass}=="00" SYSFS{bcdDevice}=="0109" SYSFS{idProduct}=="1093" SYSFS{idVendor}=="04a9" SYSFS{bMaxPower}==" 2mA" SYSFS{bmAttributes}=="c0" SYSFS{bConfigurationValue}=="1" SYSFS{bNumInterfaces}==" 1" looking at parent device '/devices/pci0000:00/0000:00:1d.2/usb4/4-1': ID=="4-1" BUS=="usb" DRIVER=="usb" SYSFS{configuration}=="Standard USB Hub" SYSFS{product}=="Standard USB Hub" SYSFS{maxchild}=="4" SYSFS{version}==" 1.10" SYSFS{devnum}=="2" SYSFS{speed}=="12" SYSFS{bMaxPacketSize0}=="8" SYSFS{bNumConfigurations}=="1" SYSFS{bDeviceProtocol}=="00" SYSFS{bDeviceSubClass}=="00" SYSFS{bDeviceClass}=="09" SYSFS{bcdDevice}=="0300" SYSFS{idProduct}=="3301" SYSFS{idVendor}=="03eb" SYSFS{bMaxPower}==" 64mA" SYSFS{bmAttributes}=="e0" SYSFS{bConfigurationValue}=="1" SYSFS{bNumInterfaces}==" 1" looking at parent device '/devices/pci0000:00/0000:00:1d.2/usb4': ID=="usb4" BUS=="usb" DRIVER=="usb" SYSFS{configuration}=="" SYSFS{serial}=="0000:00:1d.2" SYSFS{product}=="UHCI Host Controller" SYSFS{manufacturer}=="Linux 2.6.16-0vl73 uhci_hcd" SYSFS{maxchild}=="2" SYSFS{version}==" 1.10" SYSFS{devnum}=="1" SYSFS{speed}=="12" SYSFS{bMaxPacketSize0}=="64" SYSFS{bNumConfigurations}=="1" SYSFS{bDeviceProtocol}=="00" SYSFS{bDeviceSubClass}=="00" SYSFS{bDeviceClass}=="09" SYSFS{bcdDevice}=="0206" SYSFS{idProduct}=="0000" SYSFS{idVendor}=="0000" SYSFS{bMaxPower}==" 0mA" SYSFS{bmAttributes}=="c0" SYSFS{bConfigurationValue}=="1" SYSFS{bNumInterfaces}==" 1" looking at parent device '/devices/pci0000:00/0000:00:1d.2': ID=="0000:00:1d.2" BUS=="pci" DRIVER=="uhci_hcd" SYSFS{modalias}=="pci:v00008086d000027CAsv00001458sd00005004bc0Csc03i00" SYSFS{local_cpus}=="ffffffff" SYSFS{irq}=="17" SYSFS{class}=="0x0c0300" SYSFS{subsystem_device}=="0x5004" SYSFS{subsystem_vendor}=="0x1458" SYSFS{device}=="0x27ca" SYSFS{vendor}=="0x8086" looking at parent device '/devices/pci0000:00': ID=="pci0000:00" BUS=="" DRIVER=="" ---------- [root@giga root]# udevinfo -a -p `udevinfo -q path -n /dev/usb/lp1` Udevinfo starts with the device specified by the devpath and then walks up the chain of parent devices. It prints for every device found, all possible attributes in the udev rules key format. A rule to match, can be composed by the attributes of the device and the attributes from one single parent device. looking at device '/class/usb/lp1': KERNEL=="lp1" SUBSYSTEM=="usb" DRIVER=="" SYSFS{dev}=="180:1" looking at parent device '/devices/pci0000:00/0000:00:1d.2/usb4/4-1/4-1.3/4-1.3:1.0': ID=="4-1.3:1.0" BUS=="usb" DRIVER=="usblp" SYSFS{ieee1284_id}=="MFG:Canon_MDL:LASER SHOT LBP-1210_CMD:CAPT_VER:1.0_CLS:PRINTER_DES:Canon LASER SHOT LBP-1210" SYSFS{modalias}=="usb:v04A9p2617d0100dc00dsc00dp00ic07isc01ip02" SYSFS{bInterfaceProtocol}=="02" SYSFS{bInterfaceSubClass}=="01" SYSFS{bInterfaceClass}=="07" SYSFS{bNumEndpoints}=="02" SYSFS{bAlternateSetting}==" 0" SYSFS{bInterfaceNumber}=="00" looking at parent device '/devices/pci0000:00/0000:00:1d.2/usb4/4-1/4-1.3': ID=="4-1.3" BUS=="usb" DRIVER=="usb" SYSFS{configuration}=="" SYSFS{serial}=="0139RNOd" SYSFS{product}=="Canon CAPT USB Printer" SYSFS{manufacturer}=="Canon" SYSFS{maxchild}=="0" SYSFS{version}==" 1.10" SYSFS{devnum}=="5" SYSFS{speed}=="12" SYSFS{bMaxPacketSize0}=="8" SYSFS{bNumConfigurations}=="1" SYSFS{bDeviceProtocol}=="00" SYSFS{bDeviceSubClass}=="00" SYSFS{bDeviceClass}=="00" SYSFS{bcdDevice}=="0100" SYSFS{idProduct}=="2617" SYSFS{idVendor}=="04a9" SYSFS{bMaxPower}==" 0mA" SYSFS{bmAttributes}=="c0" SYSFS{bConfigurationValue}=="1" SYSFS{bNumInterfaces}==" 1" looking at parent device '/devices/pci0000:00/0000:00:1d.2/usb4/4-1': ID=="4-1" BUS=="usb" DRIVER=="usb" SYSFS{configuration}=="Standard USB Hub" SYSFS{product}=="Standard USB Hub" SYSFS{maxchild}=="4" SYSFS{version}==" 1.10" SYSFS{devnum}=="2" SYSFS{speed}=="12" SYSFS{bMaxPacketSize0}=="8" SYSFS{bNumConfigurations}=="1" SYSFS{bDeviceProtocol}=="00" SYSFS{bDeviceSubClass}=="00" SYSFS{bDeviceClass}=="09" SYSFS{bcdDevice}=="0300" SYSFS{idProduct}=="3301" SYSFS{idVendor}=="03eb" SYSFS{bMaxPower}==" 64mA" SYSFS{bmAttributes}=="e0" SYSFS{bConfigurationValue}=="1" SYSFS{bNumInterfaces}==" 1" looking at parent device '/devices/pci0000:00/0000:00:1d.2/usb4': ID=="usb4" BUS=="usb" DRIVER=="usb" SYSFS{configuration}=="" SYSFS{serial}=="0000:00:1d.2" SYSFS{product}=="UHCI Host Controller" SYSFS{manufacturer}=="Linux 2.6.16-0vl73 uhci_hcd" SYSFS{maxchild}=="2" SYSFS{version}==" 1.10" SYSFS{devnum}=="1" SYSFS{speed}=="12" SYSFS{bMaxPacketSize0}=="64" SYSFS{bNumConfigurations}=="1" SYSFS{bDeviceProtocol}=="00" SYSFS{bDeviceSubClass}=="00" SYSFS{bDeviceClass}=="09" SYSFS{bcdDevice}=="0206" SYSFS{idProduct}=="0000" SYSFS{idVendor}=="0000" SYSFS{bMaxPower}==" 0mA" SYSFS{bmAttributes}=="c0" SYSFS{bConfigurationValue}=="1" SYSFS{bNumInterfaces}==" 1" looking at parent device '/devices/pci0000:00/0000:00:1d.2': ID=="0000:00:1d.2" BUS=="pci" DRIVER=="uhci_hcd" SYSFS{modalias}=="pci:v00008086d000027CAsv00001458sd00005004bc0Csc03i00" SYSFS{local_cpus}=="ffffffff" SYSFS{irq}=="17" SYSFS{class}=="0x0c0300" SYSFS{subsystem_device}=="0x5004" SYSFS{subsystem_vendor}=="0x1458" SYSFS{device}=="0x27ca" SYSFS{vendor}=="0x8086" looking at parent device '/devices/pci0000:00': ID=="pci0000:00" BUS=="" DRIVER=="" ----------- となって、何とLBP-1210とPixus-iP4100の/dev/usb/lp0とlp1が、入れ替わって いるのです!そして印刷もできません。(両方とも) これは鈴木さんのおっしゃるように、デバイスパス自体が動いて(変化して)しま うのだと思います。 鈴木さんがおっしゃっているように、 >/etc/udev/rules.d/50-udev.rules >あたりに、上記で出てきた情報を元に、 >特定の名前のファイルにシンボリックリンクを張るような >ルールを書けば良いのだと思います。 >それぞれのプリンタのデバイスパス設定で、それらファイルを指定します。 >これで、プリンタのデバイスは、確実に区別できるようになるはずです。 ということですが、勉強不足でシンボリックリンクを張る方法がわかりません。 これから勉強して、両方とも印刷できるようにしたいと思います。 ------------- 長南さんへ、 いつもありがとうございます。 >宮脇さんにうかがいます。そちらの Vine では lsusb が使えるようですが、 >何というパッケージに入っていたのですか。 私も、飛田さんから教えて頂いた時、lsusbとコマンドを打ってみたのですが、 そんなのはない!とvineに言われましたので、googleで検索し、以下のURLを見 つけました。 http://linuxsoft.cern.ch/repository//i386updates/usbutils-0.11-2.i386.html ここから、下記のファイルをダウンロードし、インストールしました。 usbutils-0.11-2.i386.rpm 岸さんも、下記のようにおっしゃっていますが、私がダウンロードしたファイル の方が、少しバージョンが新しいようです。 > 私の場合は、rpmfind からusbutils-0.70-1.1.src.rpm を探し出してきてインスト >ールしました。参考までに下記の私のサイトにもちょっとだけまとめておきま した。 > http://swing.jakou.com/vine/client.html#lsusb > K.Kishi > http://swing.jakou.com/index.html(猫とVineとJazzと自転車)