Hardoffで128x128のチープなデジタルフォトフレームが110円であったので購入してみました。未開封品でしたがLiPoは使えなくなっていました。
いろいろ調べてみたところこのモジュールはAppoTechのAX203というチップを使っているようです。AX203のCPUは8051のようです。
同様のモジュールで使われるチップにはST2205というもあるようです。AX203の後継のAX206というチップもあるようです。
MENUボタンを押してUSB接続にすると、USBのインターフェースは、umassのCDとして認識されます。VIDが0x1908でPIDが0x1320です。
ugen0.2: <BUILDWIN Photo Frame> at usbus0
umass0 on uhub4
umass0: <DPF Mate> on usbus0
umass0: SCSI over Bulk-Only; quirks = 0x0100
umass0:6:0: Attached to scbus6
cd0 at umass-sim0 bus 0 scbus6 target 0 lun 0
cd0: <buildwin Photo Frame 1.01> Removable CD-ROM SCSI-2 device
cd0: 1.000MB/s transfers
cd0: 0MB (1 0 byte sectors)
cd0: quirks=0x10<10_BYTE_ONLY>
Linux方面ではgphoto2やdpf-axなどでサポートがありました。
gphoto2はWindowsやMacのアプリケーションのように画像ファイルのコピーができるようです。実際のコードはlibgphoto2の中にあります。SCSIコマンドでオペレーションができてSCSI GENERIC(SG)というAPIを使ってlibgphoto2_port/usbscsi/linux.cでプログラムされているようです。FreeBSDのpkgのgphoto2では認識できませんでした。
dpf-axは8051のfirmwareを書き換えるプロジェクトでLCD4Linuxでディスプレイとして使えるようにしているようです。こちらはfirmwareを焼き変えるための処理はSCSIコマンドですが、焼き変えた後は専用のUSBインターフェースになるようです。
SGはFreeBSDでも用意されているので、おそらくポートは可能だと思います。
/usr/include/cam/scsi/scsi_sg.h
これを調べていてLCD4linuxを知ったのですが自分もいろいろLCDをいじっていますが、実装のアプローチが全く違っています。アプリケーションなので同じである必要もないと考えています。