Okay v124 is out.

Recent stuff of interest includes the new kftpd "SITE" commands:

-- SITE RO
-- SITE RW
-- SITE REBOOT
-- SITE EXEC arbitrary command ; another arbitrary command

The RW command remounts /,/drive0,drive1 for read-write access, and RO puts them back into read-only. Wait about 5 seconds after issuing them, because they execute asynchronously.

None of the SITE commands return any output, and none of them return any status codes other than "Okay". That's because I gave up trying to figure out how to communicate with the child spawned from the internal execve() invocation (slightly different from usermode). All stdin/stdout/stderr for any such commands is simply redirected to the serial port for now. But the mechanism works, crude as it may be.

Also new, is the /proc/empeg_kernel "device", created within the kernel by Hijack. This is simply a block device entry for MAJOR=60 MINOR=8, the "kernel" flasher. If you use FTP to upload a kernel zImage file to /proc/empeg_kernel then it will be burned to flash during the FTP. Takes about 5 seconds.

This is the much faster equivalent to using "download" or "logo editor" to flash a new kernel. Works fine on a stock consumer image, too, so long as Hijack v124 (or higher) has been installed.

Also recently new, is the ability to write to /proc/empeg_notify. Reading from it just gives the player status (requires [output]notify=1 in config.ini), but the other direction can be used to inject commands to Hijack:

echo "button 20df12" >/proc/empeg_notify (a short press)
echo "button 20df12.L" >/proc/empeg_notify (a long press)

This virtual button pressing can be done remotely using FTP to write to those files, as well as using the FTP SITE EXEC command to issue those "echo" commands shown above.

In addition to "button" commands, one can also do"

echo "reboot" >/proc/empeg_notify

and also for fun you can do:

echo "popup Hello, World!" >/proc/empeg_notify

Cool, eh!

-ml



Edited by mlord (14/01/2002 23:13)