关键词keyword:U盘、移动硬盘、usb口、flash disk、USB设备
USB的使用似乎成了老大难问题,其实solaris 10中对USB设备的支持已经very good了,默认状况下即插即用。以下是本人的一些心得,请参考使用。
USB设备使用简介
版权声明:原创cu-yuhuohu,任何网站未经授权拒绝转载
内容简介:
- USB设备状态检测
- vold在运行时使用U盘
- vold未运行时使用U盘
- vmware如何使用U盘
- 疑难杂症(important)
1、check the usb-device
查看USB存储设备是否已插入,在启动消息中应该有类似条目
# grep -i usb /var/adm/messages
Oct 8 12:02:26 s10u2 usba: [ID 912658 kern.info] 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-storage connected 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的级联结构,比如:
0表示第一个usb总线,1表示第一个端口
usb0/2.1和usb0/2.2表示连接在第一个USB总线的第二个端口上的usb-hub上的第一个和第二个端口
usb0/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存储设备,上面的输出示例表示有存储设备已插入到第一个usb端口
USB-HUB,上面的输出示例表示连接这个端口(usb0/2,第二个USB端口)上的设备是一个usb-hub
USB鼠标
Receptacle
USB端口已加电并启用。有一个USB设备已插入此端口,该设备已经与USB总线建立起逻辑连接
USB端口已加电并启用。有一个USB设备已插入此端口,但和USB总线间的逻辑连接被中断 (用cfgadm -c disconnect命令,比如cfgadm -c disconnect usb0/1,通常在准备拔出USB设备时使用此命令)
USB端口已加电,但没有USB设备插入
Occupant
插入到USB端口的设备已经配置完毕,solaris系统可以使用该设备
插入到USB端口的设备处于离线状态(使用cfgadm -c unconfigure命令,或无法成功配置该设备,比如没有驱动或设备本身有问题)
Condition
状态正常,可以使用
当应用正在使用这个设备时,用户强行拔出USB设备会导致出现不可用状态。用户必须把该设备再次插入此端口,然后关闭应用,再拔出USB设备。否则,处于这种状态的端口将无法配置被插入此端口的其他设备。如果不把先前的USB设备重新插入这个端口,要清除不可用状态,请参见《系统管理指南:基本管理》
这点很重要哦,用完U盘后请务必要记得要 umount,然后最好再 eject 一下!!!
版权声明:原创cu-yuhuohu,拒绝任何人以任何名义转载.
2、vold daemon is running如果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
没事干就运行一下volcheck也是可以的:
# volcheck
版权声明:原创cu-yuhuohu,拒绝任何人以任何名义转载.
3、vold daemon has not runned如果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: Generic USB 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据我所知,vmware 6.0支持USB接口模拟,然后即插即用
插入USB设备后,注意看vmware的右下角,会多一个图标(图中红圈部分,未插入usb设备时是没有这个图标的):
如果插入u盘,windows出现u盘连接提示,请换个口再插,如果还不行,耐心等待些时间,然后1234多来几次。关键是看windows响应快还是vmware响应快。
开个玩笑,呵呵,其实要让虚拟机认到USB设备很简单:当虚拟机窗口是当前活跃窗口时,插入USB设备即可。
版权声明:原创cu-yuhuohu,拒绝任何人以任何名义转载.
5、troubleshooting关于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:c or c2t0d0p3:1 代表第一个逻辑分区 -----------c2t0d0p0:2似乎也可以,本人不保证正确不推荐
- c2t0d0p3:d or c2t0d0p3:2 代表第二个逻辑分区 -----------c2t0d0p0:3似乎也可以,本人不保证正确不推荐
- ......
兼容性问题
USB-FAQ
note:the full guide please view the doc.sun.com's documents,system management guide:device and file system
[ 本帖最后由 yuhuohu 于 2009-10-26 11:33 编辑 ] |