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


    昨天刚开始折腾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后门。你就看到一切正常充电。。

  • 相关阅读:
    imagemagick-图片
    selenium-嘿
    centos命令行连接无线网络
    centos7安装桌面合盖不休眠
    mysql执行命令:ERROR 1820 (HY000): You must reset your password
    编码规范 C++
    Docker使用总结
    JAVA使用总结
    VS IDE 相关
    编程网站总结
  • 原文地址:https://www.cnblogs.com/xiaoCon/p/3267382.html
Copyright © 2020-2023  润新知