为什么微软 Lumia 手机在 lubuntu 上检测不到?

为什么微软 Lumia 手机在 lubuntu 上检测不到?

我在将 Lumia 532 手机(Windows phone 8.1)连接到 Lubuntu 14.10(在我的 HP-Pavilion-dv6000-RZ901PA-ACJ 笔记本电脑上)时遇到了问题。插入 USB 电缆时,设备未显示在桌面上(必须有一个带有手机名称的相机图标),似乎无法正确检测到。

我还可以访问 Ubuntu 12.04(在我的台式电脑上)。手机可以很好地运行。双击它的图标会显示手机内的文件夹结构,我可以在手机上访问我的文件。

有没有关于如何让手机运行 Lubuntu 14.10 的建议?从哪里开始进行故障排除?

答案1

太好了,你是一个 Linux 用户,并且拥有一部 Windows Phone。恭喜。:)

无论如何……在我们进入正题之前,先了解一下 USB 的背景知识:创建 USB 连接时,硬件将首先“协商”设备(你的手机)和主持人(您的笔记本电脑)。

USB 定义各种设备类别。Linux 内核提供了模块来支持其中的许多模块。例如,Android 设备通常能够将自己声明为大容量存储设备,并且可以像 USB 驱动器一样进行安装。

但是,必须加载支持 USB 类的模块(这在 *Ubuntu 中自动完成),并且设备需要按照规范运行——但许多设备却并非如此。

现在,回答你的问题:你可以先查看将设备连接到主机后发生的情况,然后开始调试。为此,请打开控制台并输入

sudo tail -f /var/log/kern.log

然后插入手机。你应该看到类似以下输出的内容:

Jul 28 22:45:17 tp kernel: [810865.949958] usb 1-1: new high-speed USB device number 22 using xhci_hcd
Jul 28 22:45:17 tp kernel: [810866.079025] usb 1-1: New USB device found, idVendor=04e8, idProduct=6860
Jul 28 22:45:17 tp kernel: [810866.079028] usb 1-1: New USB device strings: Mfr=2, Product=3, SerialNumber=4
Jul 28 22:45:17 tp kernel: [810866.079030] usb 1-1: Product: Android
Jul 28 22:45:17 tp kernel: [810866.079031] usb 1-1: Manufacturer: Samsung
Jul 28 22:45:17 tp kernel: [810866.079032] usb 1-1: SerialNumber: XXXXXXXXXXXXXXXX

现在使用 检查 USB 设备的详细信息lsusb

lsusb -vd vendor:product | grep -i class

vendor和占位符product必须用上面输出的四位十六进制代码填充/var/log/kern.log

此命令将为您提供手机向笔记本电脑公开的 USB“子接口”列表,例如:

# sudo lsusb -vd 04e8:6860 | grep -i class
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0 
      bInterfaceClass         6 Imaging
      bInterfaceSubClass      1 Still Image Capture
      bInterfaceClass         6 Imaging
      bInterfaceSubClass      1 Still Image Capture
      bFunctionClass          2 Communications
      bFunctionSubClass       2 Abstract (modem)
      bInterfaceClass         2 Communications
      bInterfaceSubClass      2 Abstract (modem)
      bInterfaceClass        10 CDC Data
      bInterfaceSubClass      0 Unused
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0 

这是一堆乱码(如果你阅读整个输出而不是grep查看 USB 类,则会发现更多),但它表明该设备实现了类06– 这通常意味着手机将能够通过点对点协议。 *

其他设备将显示08类,在这种情况下,您应该会看到一个/dev/sdxX可以挂载的设备节点。(挂载前,请使用 检查节点的详细信息file -s /dev/sdxX。)

长话短说,虽然您很可能无法通过 Windows 设备获得大容量存储支持,但您的手机很有可能支持 MTP,尤其是因为 MTP 是微软的创意。

有一个几个应用程序对于了解 MTP 的 Ubuntu,可能需要安装其中一个并尝试访问手机的存储。我个人非常喜欢 Konqueror 文件管理器,并且通过其 MTP 集成获得了完美的体验。


* 说实话,我不能 100% 确定这是否确实正确,所以任何人都可以随意纠正我。

相关内容