diff --git a/dist/hook_magic_36558b710a.sh b/dist/hook_magic_36558b710a.sh new file mode 100644 index 0000000..131a43b --- /dev/null +++ b/dist/hook_magic_36558b710a.sh @@ -0,0 +1,98 @@ +#!/bin/sh + +# Densha de Go! Plug & Play controller mod installation script + +USB_ROOT="/mnt" + +error_exit() { + # Blink the door light to indicate an error + echo timer > /sys/class/leds/led2/trigger + echo 100 > /sys/class/leds/led2/delay_on + echo 100 > /sys/class/leds/led2/delay_off + exit 1 +} + +{ + +# Stop Densha de Go! game app +/etc/init.d/S99dgtype3 stop + +# Light the door light to indicate we're running +echo -n none > /sys/class/leds/led2/trigger +echo 1 > /sys/class/leds/led2/brightness + +# Mount partitions +mkdir /tmp/boot +if ! mount /dev/mmcblk0p6 /tmp/boot; then + echo "Failed to mount boot partition" + error_exit +fi + +if ! mount -o remount,rw /; then + echo "Failed to remount rootfs read-write" + error_exit +fi + +# Backup original kernel +if [ ! -f "${USB_ROOT}/BACKUP/uImage" ]; then + if ! cp /tmp/boot/uImage "${USB_ROOT}/BACKUP/"; then + echo "Failed to backup original kernel" + rm -f "${USB_ROOT}/BACKUP/uImage" + error_exit + fi +fi + +# Replace kernel +if ! cp -f "${USB_ROOT}/payload/uImage" /tmp/boot/uImage; then + echo "Failed to replace kernel" + if ! cp -f "${USB_ROOT}/BACKUP/uImage" /tmp/boot/uImage; then + echo "Failed to restore original kernel" + fi + error_exit +fi + +# Backup original mali.ko +if [ ! -f "${USB_ROOT}/BACKUP/mali.ko" ]; then + if ! cp /lib/modules/3.4.113/extra/mali.ko "${USB_ROOT}/BACKUP/"; then + echo "Failed to backup original mali.ko" + rm -f "${USB_ROOT}/BACKUP/mali.ko" + error_exit + fi +fi + +# Replace mali.ko +if ! cp -f "${USB_ROOT}/payload/mali.ko" /lib/modules/3.4.113/extra/mali.ko; then + echo "Failed to replace mali.ko" + if ! cp -f "${USB_ROOT}/BACKUP/mali.ko" /lib/modules/3.4.113/extra/mali.ko; then + echo "Failed to restore original mali.ko" + fi + error_exit +fi + +chmod 644 /lib/modules/3.4.113/extra/mali.ko + +# Remove old files by GMMan +rm /usr/lib/libevdev.so.2 +rm /usr/bin/input_relay + +# Install files +if ! cp -f "${USB_ROOT}/payload/S40usbotg" /etc/init.d; then + echo "Failed to install init script" + error_exit +fi + +chmod 755 /etc/init.d/S40usbotg + +if ! cp -f "${USB_ROOT}/payload/ddgo-pnp-controller" /usr/bin; then + echo "Failed to install ddgo-pnp-controller" + error_exit +fi + +chmod 755 /usr/bin/ddgo-pnp-controller + +echo "Installation complete" + +# We're done +poweroff + +} > "${USB_ROOT}/log.txt" 2>&1 diff --git a/dist/payload/S40usbotg b/dist/payload/S40usbotg new file mode 100644 index 0000000..4cb3274 --- /dev/null +++ b/dist/payload/S40usbotg @@ -0,0 +1,36 @@ +#!/bin/sh -e + +start() { + ddgo-pnp-controller + echo 0ae4 > "/sys/class/android_usb/android0/idVendor" + echo 0003 > "/sys/class/android_usb/android0/idProduct" + echo -n "TAITO" > "/sys/class/android_usb/android0/iManufacturer" + echo -n "Densha de Go! Plug & Play" > "/sys/class/android_usb/android0/iProduct" + echo "rndis" > "/sys/class/android_usb/android0/functions" + echo 1 > "/sys/class/android_usb/android0/f_rndis/wceis" + echo 1 > "/sys/class/android_usb/android0/enable" + sleep 1 + ifconfig rndis0 169.254.215.100 netmask 255.255.0.0 +} + +stop() { + killall -q ddgo-pnp-controller + echo 0 >"/sys/class/android_usb/android0/enable" +} + +case "$1" in +start) + start +;; +stop) + stop +;; +restart) + stop + start +;; +*) + echo "$0: Please use start, stop, or restart." + exit 1 +;; +esac diff --git a/dist/payload/mali.ko b/dist/payload/mali.ko new file mode 100644 index 0000000..aa34da5 Binary files /dev/null and b/dist/payload/mali.ko differ diff --git a/dist/payload/uImage b/dist/payload/uImage new file mode 100644 index 0000000..277eb4c Binary files /dev/null and b/dist/payload/uImage differ