Linux 下直连ipad mini充电(实战)

原创
2014/02/13 10:04
阅读数 167

昨天刚开始折腾mini,发现居然链接t510不能充电。。瞬间纠结了。

这不是意味着出门要带着插口?这是不可能的事情。

所以就有这文章。

本机环境:Debian X86_64 crunchbang Linux 11

Kernel:

root@smart:~# uname -a
Linux smart 3.2.0-4-amd64 #1 SMP Debian 3.2.35-2 x86_64 GNU/Linux

具体过程:

root@smart:~#  apt-get install libusb-1.0-0 libusb-1.0-0-dev
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
libusb-1.0-0 已经是最新的版本了。
libusb-1.0-0 被设置为手动安装。
有一些软件包无法被安装。如果您用的是 unstable 发行版,这也许是
因为系统无法达到您要求的状态造成的。该版本中可能会有一些您需要的软件
包尚未被创建或是它们已被从新到(Incoming)目录移出。
下列信息可能会对解决问题有所帮助:

下列软件包有未满足的依赖关系:
 libusb-1.0-0-dev : 依赖: libusb-1.0-0 (= 2:1.0.8-2) 但是 2:1.0.11-1 正要被安装
E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。

用APT安装居然不让装,显示开发包有依赖问题,这很纠结。只能降级了,不然没法用。

不过先测下有没有GIT环境,GIT是一个远程代码仓库。

root@smart:~# git clone https://github.com/mkorenkov/ipad_charge.git
bash: git: 未找到命令

发现没有,那就安装。

root@smart:~# apt-get install git-core
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
将会安装下列额外的软件包:
  git liberror-perl
建议安装的软件包:
  git-doc git-arch git-cvs git-svn git-email git-daemon-run git-gui
  gitk gitweb
下列【新】软件包将被安装:
  git git-core liberror-perl
升级了 0 个软件包,新安装了 3 个软件包,要卸载 0 个软件包,有 2 个软件包未被升级。
需要下载 5,299 kB 的软件包。
解压缩后会消耗掉 11.0 MB 的额外空间。
您希望继续执行吗?[Y/n]y
获取:1 http://mirrors.163.com/debian/ squeeze/main liberror-perl all 0.17-1 [23.6 kB]
获取:2 http://mirrors.163.com/debian/ squeeze/main git amd64 1:1.7.2.5-3 [5,274 kB]
获取:3 http://mirrors.163.com/debian/ squeeze/main git-core all 1:1.7.2.5-3 [1,316 B]
下载 5,299 kB,耗时 7秒 (698 kB/s)                                   
Selecting previously unselected package liberror-perl.
(正在读取数据库 ... 系统当前共安装有 108860 个文件和目录。)
正在解压缩 liberror-perl (从 .../liberror-perl_0.17-1_all.deb) ...
Selecting previously unselected package git.
正在解压缩 git (从 .../git_1%3a1.7.2.5-3_amd64.deb) ...
Selecting previously unselected package git-core.
正在解压缩 git-core (从 .../git-core_1%3a1.7.2.5-3_all.deb) ...
正在处理用于 man-db 的触发器...
正在设置 liberror-perl (0.17-1) ...
正在设置 git (1:1.7.2.5-3) ...
正在设置 git-core (1:1.7.2.5-3) ...

就这样装好了。接着先把ipad change项目下载下来.

root@smart:~# git clone https://github.com/mkorenkov/ipad_charge.git
Cloning into ipad_charge...
remote: Counting objects: 113, done.
remote: Compressing objects: 100% (71/71), done.
remote: Total 113 (delta 58), reused 95 (delta 40)
Receiving objects: 100% (113/113), 21.29 KiB, done.
Resolving deltas: 100% (58/58), done.

过程很顺利,接着先去测下没有usb开发包的情况下,会出现什么错误。

root@smart:~# cd ipad_charge/
root@smart:~/ipad_charge# make
gcc -Wall -Wextra ipad_charge.c -lusb-1.0 -o ipad_charge
ipad_charge.c:7:31: fatal error: libusb-1.0/libusb.h: 没有那个文件或目录
compilation terminated.
make: *** [ipad_charge] 错误 1

恩。明白了,果然没有这个开发包就不让安装。
接着降级安装就好。当然,要先查查降级有没有什么危害,不然导致机器无法启动那就悲剧了。

我还是比较理智的,降级以后不会出现什么不兼容。

root@smart:~# aptitude install libusb-1.0-0-dev
下列“新”软件包将被安装。         
  libusb-1.0-0-dev{b} 
0 个软件包被升级,新安装 1 个,0 个将被删除, 同时 2 个将不升级。
需要获取 157 kB 的存档。解包后将要使用 1,008 kB。
下列软件包存在未满足的依赖关系:
 libusb-1.0-0-dev : 依赖: libusb-1.0-0 (= 2:1.0.8-2) 但是 2:1.0.11-1 已安装。
下列动作将解决这些依赖关系:

     保持 下列软件包于其当前版本:
1)     libusb-1.0-0-dev [未安装的]



是否接受该解决方案?[Y/n/q/?] n
下列动作将解决这些依赖关系:

     降级 下列软件包:                                         
1)     libusb-1.0-0 [2:1.0.11-1 (now) -> 2:1.0.8-2 (oldstable)]



是否接受该解决方案?[Y/n/q/?] y
下列软件包将被“降级”:
  libusb-1.0-0 
下列“新”软件包将被安装。
  libusb-1.0-0-dev 
0 个软件包被升级,新安装 1 个,1 个被降级,0 个将被删除, 同时 2 个将不升级。
需要获取 191 kB 的存档。解包后将要使用 1,053 kB。
您要继续吗?[Y/n/?] y
读取: 1 http://mirrors.163.com/debian/ squeeze/main libusb-1.0-0 amd64 2:1.0.8-2 [34.5 kB]
读取: 2 http://mirrors.163.com/debian/ squeeze/main libusb-1.0-0-dev amd64 2:1.0.8-2 [157 kB]
已下载 191 kB,耗时 14秒 (13.0 kB/s)      
dpkg:警告:downgrading libusb-1.0-0:amd64 from 2:1.0.11-1 to 2:1.0.8-2
(正在读取数据库 ... 系统当前共安装有 109405 个文件和目录。)
正预备替换 libusb-1.0-0:amd64 2:1.0.11-1 (使用 .../libusb-1.0-0_2%3a1.0.8-2_amd64.deb) ...
正在解压缩将用于更替的包文件 libusb-1.0-0 ...
Selecting previously unselected package libusb-1.0-0-dev.
正在解压缩 libusb-1.0-0-dev (从 .../libusb-1.0-0-dev_2%3a1.0.8-2_amd64.deb) ...
正在设置 libusb-1.0-0 (2:1.0.8-2) ...
正在设置 libusb-1.0-0-dev (2:1.0.8-2) ...
                                 

由于第一个方案等于原封不动,所以我选择第二个方案,降级libusb驱动,然后安装开发包.

最后就是回到工作目录,把驱动装上啦。

root@smart:~# cd ipad_charge/
root@smart:~/ipad_charge# make
gcc -Wall -Wextra ipad_charge.c -lusb-1.0 -o ipad_charge
root@smart:~/ipad_charge# make install
install -o root -g root -m 755 -s ipad_charge /usr/bin/
install -o root -g root -m 644 95-ipad_charge.rules /etc/udev/rules.d/

到这时候,把线插入到ipad mini后门。你就看到一切正常充电。。

 

 

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部