我有一部三星 Galaxy S2。要以官方方式更新它,您需要 Windows 和三星 Kies(一款进行更新的应用程序)。非官方方式允许您使用名为 Heimdell 的 Linux 原生应用程序进行更新。首先,您需要将手机置于“下载模式”,这需要重启手机,在开机时按住 Home 键和音量减小键。到目前为止,我都还好。
问题出现在将其插入 Ubuntu 时。我将其插入,Heimdell 看不到任何东西,无法继续。
此外,lsusb
停顿了很长时间,然后无法显示三星。如果我拔掉手机电源,它就lsusb
可以正常工作。出于某种原因,手机似乎是问题所在。
我已经在 Ubuntu 笔记本电脑(64 位 2.6.38 - 与台式机一样)上尝试过此操作,并且注册正常。lsusb
工作正常,但 Heimdall 还存在其他一些问题。
我想让它在我的桌面上运行,因为这样我就可以让 VirtualBox 接管 USB 设备,然后我可以使用 Odin(三星的另一款工具)对其进行刷新。但事实上,系统看不到手机,所以我无法将其传递出去。
我应该在哪里寻找调试信息?
观察dmesg | tail
一会儿,结果如下:
[167976.600142] usb 6-1: new full speed USB device using uhci_hcd and address 4
[167991.709360] usb 6-1: device descriptor read/64, error -110
[168006.928436] usb 6-1: device descriptor read/64, error -110
[168007.158227] usb 6-1: new full speed USB device using uhci_hcd and address 5
[168022.267425] usb 6-1: device descriptor read/64, error -110
[168037.486529] usb 6-1: device descriptor read/64, error -110
[168037.717116] usb 6-1: new full speed USB device using uhci_hcd and address 6
[168043.132523] usb 6-1: device not accepting address 6, error -84
[168043.252408] usb 6-1: new full speed USB device using uhci_hcd and address 7
我看的时间越长,看到的此类信息就越多。
/var/log/udev
插入时没有显示任何新内容。
答案1
我发现我的三星拦截器对 USB 非常挑剔。
试试另一根电缆?试试另一个端口?试试重新启动?在某些笔记本电脑上,它只能“有时”工作。
这不一定是答案,但它太长了,不适合作为评论。请检查以下内容是否可行-
我的建议是完全避免使用下载模式。USB 太挑剔了,不值得冒这个险。这就是我在拦截时会做的事情。你应该看看是否能找到像 flashimg 这样的东西,让你可以直接从手机上刷机。
- 获取临时根。(使用 gingerbreak?)如果您还没有。
- 使用 flashimg.bin 进行 Flash Clockwork 恢复
- 使用发条恢复进行闪存更新。
答案2
Heimdall 是 Odin 的开源替代品,而不是 KIES 的开源替代品。
由于 Ubuntu 对某些 USB 设备有默认行为,因此最好像 Google 在此处为 Android 开发人员描述的那样覆盖此行为http://developer.android.com/guide/developing/device.html
请记住,udev 比任何应用程序都重要,并且刷新设备是极其危险的事情。