virtualbox连接usb设备
授权方式:署名,非商业用途,保持一致,转载时请务必以超链接(http://www.fwolf.com/blog/post/392)的形式标明文章原始出处和作者信息及本声明。环境:Ubuntu 7.10 Gutsy, VirtualBox 1.5.6
网上虽然已经有很多介绍的文章了,但我还是遇到了一点小问题,别人好像没有说到。
首先就是得使用virtualbox的闭源版本,也就是非ose版本,如果你细心上virtualbox的开源、闭源版本区别页面去看看的话,可以清楚的看到ose版本是没有包含usb设备支持的,怪不得我的vb窗口右下角没有usb图标呢。
其次就是不用加什么usbfs组,只要在/etc/fstab中添加一句:
none /proc/bus/usb usbfs devgid=1002,devmode=664 0 0
其中1002用你机器上真实的vboxusers组的id替换,然后sudo mount -a就可以正常使用了。
参考
- Host: Ubuntu 7.10 64-bit | Guest: WinXP 32-bit | USB Error? - 这里说了三种方法,前两种都太复杂了。
- usb not working in Innotek VB on ubuntu710 - 这里说的很明确,fstab中添加一行就搞定了。
- ubuntu 与 bluetooth蓝牙手机相互绑定,传送文件,全图形界面下操作 - 蓝牙,我没用,在Nokia 6120c上设定数据传输模式,连接后ubuntu就自动当Usb存储设备识别出来了。
顺便再多说一句,virtualbox支持网络要想设置成桥接(结果是client就像局域网中正常的另外一台电脑一样)好像是麻烦了些,其实我觉得nat模式挺好挺够用的,虽然通讯上要麻烦一些,但client中的winxp就像是运行在一个“纯净”的网络环境当中一样,非常安全,杀毒软件什么的一概不用装,很好。
再补充
又遇波折,usb设备已经能够正常识别了,Nokia 6120c插上也能够被winxp识别出来,但pc套件就是找不到设备,到virtualbox的论坛上查了一下,发现很多人使用1.5以后的版本都是这样,降级(卸载再安装)到1.4就没事了。
降级之后默认1.5的虚拟机无法启动,根据错误提示删掉几行1.5添加的专用属性就可以了,比较简单:
Could not load the settings file '/home/fwolf/.VirtualBox/Machines/WinXP/WinXP.xml' (VERR_OPEN_FAILED).
FATAL ERROR: Unknown element 'Uart'
Location: '/home/fwolf/.VirtualBox/Machines/WinXP/WinXP.xml', line 45, column 15.
另外,还需要usb 2.0 ?? 找了一台usb 2.0接口的电脑试了还不行,没有办法了,关掉virtualbox,用vmware一连接就ok了,郁闷至极。
用obex连接Nokia 6120c
首先,把电话的控制权限赋予当前用户,通过dialout用户组,编辑/etc/udev/rules.d/40-permissions.rules文件,在最后添加上:
# NOKIA 6120
BUS=="usb", SYSFS{idVendor}=="0421", SYSFS{idProduct}=="002f", GROUP="dialout"
其中的0421和002f是手机设备的供应商和产品号,可以用lsusb看:
$ lsusb
Bus 005 Device 014: ID 0421:002f Nokia Mobile Phones
然后将当前用户加入dialout组:
$ sudo adduser fwolf dialout
最后重启udev:
$ sudo /etc/init.d/udev restart
第二步,安装obex相关程序:
$ sudo aptitude install openobex-apps obexftp obextool
根据环境不同,可能还会要求装一些其他的包,比如bwidget, tablelist什么的。装好以后,启动obextool:
$ obextool --obexcmd "obexftp -t /dev/ttyACM0 -u 1"
等待一会儿,会提示错误:
It seems, that your device does not support the memory status feature.
Memory status will be disabled
在/etc/obextools/obextool.cfg中找到下列内容:
###
### Enable memory status display - only works with Siemens
###
set ObexConfig(config,memstatus) 1
# set ObexConfig(config,memstatus) 0
###
### Enable file move command - only works with Siemens
###
set ObexConfig(config,filemove) 1
# set ObexConfig(config,filemove) 0
看到没有,这两项只对西门子有效,所以要把设置值改为0。上传文件的时候还有错误提示:
FIle '/path/to/upload/file' could not be uploaded to '/'!
Please check your file permissions.
还是在/etc/obextools/obextool.cfg中,有如下内容:
### Nokia 6670 requires the trailing slash on all directory names
# set ObexConfig(config,dir_slash) 1
set ObexConfig(config,dir_slash) 0
如果是Nokia手机,还是设置为0,但是。。。但是始终无法连接上手机,很不情愿的放弃了。参考:
闲话
又搜寻了很久,目前没有软件能在Linux下实现Nokia pc suite的全部功能,大部分都只解决了文件传送问题,二我所想要的却是电话本、短信、日历同步功能。
恼啊,Nokia的pc suite巨慢还不说,连Linux版也没有。又从网上找了很多参考以后,我决定搞一种自助、土点儿的通讯录同步方法(这个是最重要的,短信、日历没准儿也可以照葫芦画瓢一样搞定):
- 备份通讯录:打开名片夹->选项->全部标记->复制->至存储卡。
- 准备数据:用php写一个小程序,同步abook数据和存储卡中的vcf文件,usb数据通讯模式还是很好用的,同步的处理得智能一些,让手机和abook里的更新都有效。
- 恢复通讯录:打开名片夹->选项->复制->从存储卡。
短信输出使用MsgExport_v1.00汉化版,感觉还不错,剩下的就是需要正则表达式发威了。
Tags: Linux, nokia, phone, usb, virtualbox, vmware
Save to Browser Favorites
Ask
backflip
blinklist
BlogBookmark
Bloglines
BlogMarks
Blogsvine
BUMPzee!
CiteULike
co.mments
Connotea
del.icio.us
DotNetKicks
Digg
diigo
dropjack.com
dzone
Facebook
Fark
Faves
Feed Me Links
Friendsite
folkd.com
Furl
Google
Hugg
Jeqq
Kaboodle
linkaGoGo
LinksMarker
Ma.gnolia
Mister Wong
Mixx
MySpace
MyWeb
Netvouz
Newsvine
PlugIM
popcurrent
Propeller
Reddit
Rojo
Segnalo
Shoutwire
Simpy
sk*rt
Slashdot
Sphere
Sphinn
Spurl.net
Squidoo
StumbleUpon
Technorati
ThisNext
Webride
Windows Live
Yahoo!
Email This to a Friend
If you like this then please subscribe to the