https://github.com/oandrew/ipod
ipod implements ipod accessory protocol and a client for https://github.com/oandrew/ipod-gadget
https://github.com/oandrew/ipod
accessory gadget golang hid iap ipod
Last synced: 5 months ago
JSON representation
ipod implements ipod accessory protocol and a client for https://github.com/oandrew/ipod-gadget
- Host: GitHub
- URL: https://github.com/oandrew/ipod
- Owner: oandrew
- License: mit
- Created: 2017-11-20T07:35:37.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2021-01-04T05:32:26.000Z (over 5 years ago)
- Last Synced: 2024-06-20T11:45:51.934Z (almost 2 years ago)
- Topics: accessory, gadget, golang, hid, iap, ipod
- Language: Go
- Size: 1.87 MB
- Stars: 69
- Watchers: 11
- Forks: 21
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ipod
[](https://gitter.im/ipod-gadget/Lobby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
[](https://godoc.org/github.com/oandrew/ipod)
[](https://travis-ci.org/oandrew/ipod)
ipod is a golang userspace library implementation of the ipod accessory protocol.
It includes an example client for use with https://github.com/oandrew/ipod-gadget
This is a total rewrite of what was included with the ipod-gadget project.
It should work as a drop-in replacement for the old app.
New features:
- Storing and replaying traces
- Detailed verbose logging for debug
- Better codebase with message type definitions
- Tests
### update 03/2020
kernel module needs to be recompiled due to a breaking change (hid descriptor).
This should fix the issue with hanging after `GetDevAuthenticationInfo` on some devices.
At least it's finally working in my own car :)
# build and run
```
GO111MODULE=on go build github.com/oandrew/ipod/cmd/ipod
# or cross compiling
GO111MODULE=on GOOS=linux GOARCH=arm GOARM=6 go build github.com/oandrew/ipod/cmd/ipod
# with debug logging
./ipod -d serve /dev/iap0
# save a trace file
./ipod -d serve -w ipod.trace /dev/iap0
# simulate incoming requests from a trace file
./ipod -d replay ./ipod.trace
# view a trace file
./ipod -d view ./ipod.trace
```
Client app godoc https://godoc.org/github.com/oandrew/ipod/cmd/ipod
Refer to https://github.com/oandrew/ipod-gadget for more info on how to get the kernel part working.