ccjsj1 发表于 2008-04-22 14:40

usb设备在solaris 9/10系统中的使用简介(转)

USB的使用似乎成了老大难问题,其实solaris 10中对USB设备的支持已经very good了,默认状况下即插即用。以下是本人的一些心得,请参考使用。

USB设备使用简介
版权声明:原创cu-yuhuohu,任何网站未经授权拒绝转载
内容简介:
[*]USB设备状态检测
[*]vold在运行时使用U盘
[*]vold未运行时使用U盘
[*]vmware如何使用U盘
[*]疑难杂症(important)

哥们,看帖要推荐啊,点这里
http://bbs.chinaunix.net/images/smilies/em27.gif



1、check the usb-device
QUOTE:
查看USB存储设备是否已插入,在启动消息中应该有类似条目
# grep -i usb /var/adm/messages               
Oct8 12:02:26 s10u2 usba: USB 1.10 device (usbe0f,2) operating at full speed (USB 1.x) on USB 1.10 root hub: hub@2, hubd0 at bus address 2
查看usb接口的状态
# cfgadm usb
Ap_Id                        Type         Receptacle   Occupant   Condition
usb0/1                         usb-storageconnected    configured   ok
usb0/2                         usb-hub      connected    configured   ok
usb0/2.1                     unknown      empty      unconfigured ok
usb0/2.2                     unknown      empty      unconfigured ok
Ap_Id
USB设备的标识是一种层次结构,可以很清晰的表示USB的级联结构,比如:

[*]usb0/10表示第一个usb总线,1表示第一个端口

[*]usb0/2.1usb0/2.1和usb0/2.2表示连接在第一个USB总线的第二个端口上的usb-hub上的第一个和第二个端口

[*]usb0/1.4.3.4usb0/1.4.3.4表示有多个usb-hub级联,级联示意为:
system-->usb-bus 0-->first port-->hub-->port 4-->hub-->port 3-->hub-->port 4
图例:
      system,usb-bus 0----------port 1---------hub---port 4
                                                                               |
                                                                           hub-------port 3
                                                                                                 |
                                                                                             hub---------port 4
Type

[*]usb-storageUSB存储设备,上面的输出示例表示有存储设备已插入到第一个usb端口

[*]usb-hubUSB-HUB,上面的输出示例表示连接这个端口(usb0/2,第二个USB端口)上的设备是一个usb-hub

[*]usb-mouseUSB鼠标
Receptacle

[*]connectedUSB端口已加电并启用。有一个USB设备已插入此端口,该设备已经与USB总线建立起逻辑连接

[*]disconnectedUSB端口已加电并启用。有一个USB设备已插入此端口,但和USB总线间的逻辑连接被中断 (用cfgadm -c disconnect命令,比如cfgadm -c disconnect usb0/1,通常在准备拔出USB设备时使用此命令)

[*]emptyUSB端口已加电,但没有USB设备插入
Occupant

[*]configured插入到USB端口的设备已经配置完毕,solaris系统可以使用该设备

[*]unconfigured插入到USB端口的设备处于离线状态(使用cfgadm-cunconfigure命令,或无法成功配置该设备,比如没有驱动或设备本身有问题)
Condition

[*]ok状态正常,可以使用

[*]unusable当应用正在使用这个设备时,用户强行拔出USB设备会导致出现不可用状态。用户必须把该设备再次插入此端口,然后关闭应用,再拔出USB设备。否则,处于这种状态的端口将无法配置被插入此端口的其他设备。如果不把先前的USB设备重新插入这个端口,要清除不可用状态,请参见《系统管理指南:基本管理》
这点很重要哦,用完U盘后请务必要记得要 umount,然后最好再 eject 一下!!!
版权声明:原创cu-yuhuohu,拒绝任何人以任何名义转载.
2、vold daemon is running
QUOTE:
如果VOLD在运行,插入USB设备后,Solaris 10系统会自动将其进行挂接。
# df -h | grep rmdisk
/vol/dev/dsk/c2t0d0/unnamed_rmdisk:c   249M    10M   239M   5%    /rmdisk/unnamed_rmdisk
如果要拔除usb设备,建议先采用umount卸载对应的文件系统,如:
# umount /rmdisk/unnamed_rmdisk
当重新插入usb存储设备时,如果系统无法自动识别,可重启volfs服务:
solaris10# svcadm restart volfs
solaris 9 # /etc/init.d/volmgt stop | start
版权声明:原创cu-yuhuohu,拒绝任何人以任何名义转载.
3、vold daemon has not runned
QUOTE:
如果VOLD没运行,插入USB设备后,可按以下步骤对其进行手动挂接:
# rmformat
正在查找设备...
   1. Logical Node: /dev/rdsk/c2t0d0p0
      Physical Node: /pci@0,0/pci15ad,1976@7,2/storage@1/disk@0,0
      Connected Device: GenericUSB Flash Drive%z!Y
      Device Type: Removable
USB设备的分区管理
# fdisk c2t0d0p0
             Total disk size is 250 cylinders
             Cylinder size is 2048 (512 byte) blocks
                                             Cylinders
      Partition   Status    Type          Start   End   Length    %
      =========   ======    =================   ===   ======   ===
          1       Active    Win95 FAT32       0   250   251    100
SELECT ONE OF THE FOLLOWING:
   1. Create a partition
   2. Specify the active partition
   3. Delete a partition
   4. Change between Solaris and Solaris2 Partition IDs
   5. Exit (update disk configuration and exit)
   6. Cancel (exit without updating disk configuration)
Enter Selection: 5
# ls /dev/rdsk/c2t0d0p*
/dev/rdsk/c2t0d0p0/dev/rdsk/c2t0d0p1/dev/rdsk/c2t0d0p2/dev/rdsk/c2t0d0p3/dev/rdsk/c2t0d0p4
在/dev/rdsk/目录中的c2t0d0p0代表整个USB存储设备,c2t0d0p1则对应fdisk c2t0d0p0所显示的Partition 1,依次类推。
此例中,USB存储设备仅分了一个区,因此要使用该设备只需挂接分区1即可,文件系统类型通常是指定“pcfs”:
# mkdir /mnt/usb
# mount -F pcps /dev/rdsk/c2t0d0p1 /mnt/usb
or
# mount -F pcps /dev/rdsk/c2t0d0p0:c /mnt/usb
# df -F pcfs -h
文件系统               大小   用了   可用 容量      挂接在
/dev/dsk/c2t0d0p1      249M    10M   239M   5%    /mnt/usb
版权声明:原创cu-yuhuohu,拒绝任何人以任何名义转载.
4、vmware
QUOTE:
据我所知,vmware 6.0支持USB接口模拟,然后即插即用
http://bbs.chinaunix.net/attachments/month_0710/20071008_97b901bcdfc86694b69aN2p700cB4xRx.jpg
http://bbs.chinaunix.net/images/default/attachimg.gif
插入USB设备后,注意看vmware的右下角,会多一个图标(图中红圈部分,未插入usb设备时是没有这个图标的):
http://bbs.chinaunix.net/attachments/month_0710/20071008_9325a934710cbe38a5deIedYSr2bzncr.jpg
http://bbs.chinaunix.net/images/default/attachimg.gif
如果插入u盘,windows出现u盘连接提示,请换个口再插,如果还不行,耐心等待些时间,然后1234多来几次。关键是看windows响应快还是vmware响应快。
开个玩笑,呵呵,其实要让虚拟机认到USB设备很简单:当虚拟机窗口是当前活跃窗口时,插入USB设备即可。
版权声明:原创cu-yuhuohu,拒绝任何人以任何名义转载.
5、troubleshooting
QUOTE:
关于cxtxdxpx的说明

[*]c控制器,对于pc而言一般有2根连硬盘的数据总线,第一根连硬盘的数据总线就是c0,第二根数据总线就是c1....
[*]t目标,使用scsi硬盘才有t,使用ide硬盘没有t
[*]d设备,对于pc而言,同一根数据总线上的主盘就是d0,从盘就是d1
[*]p分区,就是windows中常说的"四个主分区"或"3主1扩展分区",主分区可直接挂接,扩展分区不能挂接,只能挂接扩展分区中创建的逻辑分区

[*]c2t0d0p0 代表整个USB设备,不能直接挂载(与此相反的是光盘使用时是直接挂载cxtxdxp0)
[*]c2t0d0p1 or c2t0d0p0:c 代表第一个分区                     -----------c2t0d0p0:1似乎也可以,本人不保证正确不推荐
[*]c2t0d0p2 or c2t0d0p0:d 代表第二个分区
[*]c2t0d0p3 or c2t0d0p0:e 代表第三个分区
[*]c2t0d0p4 or c2t0d0p0:f代表第四个分区
[*]对于扩展分区中的逻辑分区,假设一个创建了2主1扩的硬盘,则扩展分区为c2t0d0p3

[*]c2t0d0p3:cor c2t0d0p3:1 代表第一个逻辑分区                     -----------c2t0d0p0:2似乎也可以,本人不保证正确不推荐
[*]c2t0d0p3:dor c2t0d0p3:2 代表第二个逻辑分区                     -----------c2t0d0p0:3似乎也可以,本人不保证正确不推荐
[*]......兼容性问题

[*]查看硬件兼容性列表:
http://www.sun.com/bigadmin/hcl/search.jsp
USB-FAQ

[*]
http://www.sun.com/io_technologies/usb/USB-Faq.html

note:the full guide please view the doc.sun.com's documents,system management guide:device and file system


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/28814/showart_572711.html
页: [1]
查看完整版本: usb设备在solaris 9/10系统中的使用简介(转)