[有偿求助] Mac 系统 USB 驱动开发,搞定直接>888 RMB<红包 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
jmliang

[有偿求助] Mac 系统 USB 驱动开发,搞定直接>888 RMB<红包

  •  
  •   jmliang 2025 年 2 月 27 日 2377 次点击
    这是一个创建于 422 天前的主题,其中的信息可能已经有所发展或是发生改变。

    设备是一个 USB 硬盘,加了指纹模块,开发了客户端与硬盘通信进行指纹管理,指纹录入这些功能。其他平台( Windows ,Android )的都做好了,就差 Mac 系统的,客户端 UI 这些已经 OK 了,目前卡在客户端与设备通信这里。指纹管理协议部分是魔改的 USB SCSI 协议。 只要搞定与设备通信部分就行,跑通了立马转账 888 WX:Sk1MODQxNDM0MzU5

    第 1 条附言    2025 年 2 月 27 日
    真心求助,有没有大佬有空,可以加到 1500 块,只要与设备通信这块通了就行,板子这些都有,可以随时提供
    13 条回复    2025-02-27 17:53:20 +08:00
    jmliang
        1
    jmliang  
    OP
       2025 年 2 月 27 日
    可以参考这个产品: https://www.alipan.com/s/UR3LtUkEavq
    musi
        2
    musi  
       2025 年 2 月 27 日 via iPhone
    用 libusb 不行吗?
    jmliang
        3
    jmliang  
    OP
       2025 年 2 月 27 日
    @musi 不行,不能读写端口,提示没有权限:Failed to write data: [Errno 13] Access denied (insufficient permissions)。目前测试的是通过 iokit 内核扩展( kext ),或者 driverkit 才有权限访问
    jeddida
        4
    jeddida  
       2025 年 2 月 27 日
    问的 chatgpt 可以测试一下,我不懂这些

    macOS 允许用户态程序使用 IOKit 直接操作 SCSI 设备,而不用写 Kext 。

    你可以尝试使用 IOKit 访问 SCSI 设备:

    #include <IOKit/IOKitLib.h>
    #include <IOKit/usb/IOUSBLib.h>

    kern_return_t result;
    io_service_t usbDevice;
    io_iterator_t iterator;

    // 查找 USB 设备
    result = IOServiceGetMatchingServices(kIOMasterPortDefault,
    IOServiceMatching(kIOUSBDeviceClassName),
    &iterator);

    if (result == KERN_SUCCESS) {
    while ((usbDevice = IOIteratorNext(iterator))) {
    // 这里可以发送 USB 请求
    IOObjectRelease(usbDevice);
    }
    }

    IOObjectRelease(iterator);
    wang93wei
        5
    wang93wei  
       2025 年 2 月 27 日
    @jeddida 号要没了……
    Bssn
        6
    Bssn  
       2025 年 2 月 27 日
    @wang93wei ai 判官...
    wang93wei
        7
    wang93wei  
       2025 年 2 月 27 日
    @Bssn 我看好几篇 直接贴 AI 代码的都凉了
    ivyliner
        8
    ivyliner  
       2025 年 2 月 27 日
    建议使用 driverkit, kext 已经被废弃了, 这块资料应该比较少, 888 我估计除非有人搞过, 否则去学习和调研的时间成本 cover 不住.
    Shatyuka
        9
    Shatyuka  
       2025 年 2 月 27 日
    试过 sudo ?
    jmliang
        10
    jmliang  
    OP
       2025 年 2 月 27 日
    @Shatyuka 试过不行
    jmliang
        11
    jmliang  
    OP
       2025 年 2 月 27 日
    @ivyliner 这块资料太少了,价钱好商量,真心想解决问题。
    galenzhao
        12
    galenzhao  
       2025 年 2 月 27 日
    感觉上应该用户空间的 app 也能实现这个功能,
    我用的 wd passport 的移动硬盘,他自带的 unlock app 就是用户态的,
    不需要装驱动。

    在 linux 上解锁的代码我看就是给 scsi 发送特殊指令。
    我搜到一些 mac 下 scsi 的 doc ,https://developer.apple.com/library/archive/documentation/DeviceDrivers/Conceptual/WorkingWithSAM/WWS_SAMDevInt/WWS_SAM_DevInt.html
    ivyliner
        13
    ivyliner  
       2025 年 2 月 27 日
    @jmliang #11 嗯, mac 上太特殊了, 我没有搞过 usb 的, 我之前看过 audio driverkit, 还需要去苹果申请 entitlement, 还把我拒绝了 :-(
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1088 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 39ms UTC 18:23 PVG 02:23 LAX 11:23 JFK 14:23
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86