ii / iiphone

A build of software for phones (probably cyanogenmod) that can install itself to other phones via usb
MIT License
1 stars 0 forks source link

cool idea #1

Open dweinstein opened 9 years ago

dweinstein commented 9 years ago

Do you need any help with the gadget framework? I've written a HID module for the kernel in the past and could potentially help navigate the USB composite framework to reach the goal of installing from one phone to another...

Just thinking this through though, are you going to use Android's fastboot to flash the image to the target phone?

hh commented 9 years ago

I'd love some help with the framework, particularly integrating with the usb gadget framework.

As for hid, my first stabs at creating a small universal installer hardware have been for the Intel Edison. I've been trying to get a usb hid gadget working on the rather old 3.10 series kernel, or get 3.19 to work.

Here's a couple threads with that give some decent context:

Though I'm not sure it would be required for phone to phone replication, I think we'll still need to hold down the right buttons on the target phone, detect it's type and verify that we have a valid ii image for it. The keyboard stuff was mean to let us hit the BIOS/EFI on PCs and whatnot automatically, using the phone like a remote KVM that supported attaching emulated drives, cdroms, network etc.

I've also had success with the dhcp/pxe/hanlon/chef combo running on a banana pi: https://twitter.com/hippiehacker/status/583480835673686016 But a usb ethernet adapter could do the same thing on the iiphone.

I'm really interested in integrating something like OSTree into a dynamically exported mass storage devices over usb, so the phone could export those as bootable.

I've also a POC working for using Apple BSDP over wifi which would allow macs to boot to the phone without physically connecting it.

All interesting, but I'm trying to tie it all together into something easy to build, preferably a set of yocto layers, openwrt builds, and asop builds for the supported platforms, so we can downloading and cache images so this can all be done offline.

There's a not much used google group: https://groups.google.com/forum/#!forum/ii-discuss

And a freshly created trello: https://trello.com/hhii

Thanks for the interest.

hh commented 1 month ago

Let's pivot slightly after almost a decade. pikvm.org utilized the USB Gadget interface of the Pi4 to emulate a keyboard, mouse, and disk.

Let's port the components to first work on a PinePhone64 as a demo of a Geek Squad in a box.

hh commented 1 month ago

Here is a simple script to enable a multifunction USB gadget: https://github.com/ii/iigadget

I suspect the two primary components of PiKVM are:

hh commented 1 month ago

Looks like streamer has a Dockerfile : https://github.com/pikvm/ustreamer/blob/master/pkg/docker/Dockerfile.arm.native

hh commented 1 month ago

Looks like it does use /dev/video : https://github.com/pikvm/ustreamer/blob/master/pkg/docker/entry.sh#L8 v4l2-ctl --device=/dev/video0 --set-edid=file=/edid.hex --fix-edid-checksums --info-edid