move kernel stuff to modules, rndis support, cdc_ncm

This commit is contained in:
Alfonso Gamboa
2022-04-30 02:01:45 -07:00
parent a021a9d88d
commit 2db8df1c19
33 changed files with 282 additions and 27 deletions

Binary file not shown.

View File

@@ -14,6 +14,8 @@ echo '
|______|
'
sleep 2
set -x
if [[ -e /opt/wz_mini/etc/.first_boot ]]; then
@@ -33,7 +35,6 @@ mount --bind /opt/wz_mini/etc/profile /etc/profile
echo "mounting tempfs for workspace"
mount -t tmpfs /tmp
mount -t tmpfs /run
echo "mount system to replace factorycheck with dummy, to prevent bind unmount"
mount /dev/mtdblock3 /system
@@ -46,6 +47,10 @@ mount --bind /opt/wz_mini/etc/fstab /etc/fstab
echo "mount workplace dir"
mount -t tmpfs /opt/wz_mini/tmp
echo "install busybox applets"
mkdir /opt/wz_mini/tmp/.bin
/opt/wz_mini/bin/busybox --install -s /opt/wz_mini/tmp/.bin
echo "create workspace directory"
mkdir /opt/wz_mini/tmp/.storage
@@ -60,8 +65,8 @@ sed -i '/sbin:/s/$/:\/opt\/wz_mini\/bin/' /opt/wz_mini/tmp/.storage/rcS
sed -i '/system\/\lib/s/$/:\/opt\/wz_mini\/lib/' /opt/wz_mini/tmp/.storage/rcS
#Custom PATH hooks
#sed -i '/^# Run init script.*/i#Hook Library PATH here\nexport LD_LIBRARY_PATH=/tmp/test/lib:$LD_LIBRARY_PATH\nexport' /opt/wz_mini/tmp/.storage/rcS
#sed -i '/^# Run init script.*/i#Hook system PATH here\nexport PATH=/tmp/test/bin:$PATH\nexport' /opt/wz_mini/tmp/.storage/rcS
#sed -i '/^# Run init script.*/i#Hook Library PATH here\nexport LD_LIBRARY_PATH=/tmp/test/lib:$LD_LIBRARY_PATH\n' /opt/wz_mini/tmp/.storage/rcS
#sed -i '/^# Run init script.*/i#Hook system PATH here\nexport PATH=/tmp/test/bin:$PATH\n' /opt/wz_mini/tmp/.storage/rcS
echo "replace stock password"
cp /opt/wz_mini/etc/shadow /opt/wz_mini/tmp/.storage/shadow

View File

@@ -8,12 +8,13 @@ if [ "$PS1" ]; then
fi
# Set terminal env
export PATH=/bin:/sbin:/usr/bin:/usr/sbin:/opt/wz_mini/bin
export PATH=/system/bin:$PATH
export LD_LIBRARY_PATH=/system/lib:/opt/wz_mini/lib
export LD_LIBRARY_PATH=/thirdlib:$LD_LIBRARY_PATH
export PATH=/bin:/sbin:/usr/bin:/usr/sbin
export PATH=/opt/wz_mini/tmp/.bin:/opt/wz_mini/bin:/system/bin:$PATH
export LD_LIBRARY_PATH=/system/lib
export LD_LIBRARY_PATH=/opt/wz_mini/lib:/thirdlib:$LD_LIBRARY_PATH
export TERMINFO=/opt/wz_mini/usr/share/terminfo
export TERM=xterm-color
/opt/wz_mini/bin/busybox resize
#export TZ=UTC-8

View File

@@ -0,0 +1,116 @@
kernel/arch/mips/xburst/soc-t31/chip-t31/isvp/common/keyboard_gpio.ko
kernel/arch/mips/xburst/soc-t31/chip-t31/isvp/common/i2c_bus.ko
kernel/arch/mips/xburst/soc-t31/chip-t31/isvp/common/spi_bus.ko
kernel/fs/binfmt_script.ko
kernel/fs/configfs/configfs.ko
kernel/fs/fat/fat.ko
kernel/fs/fat/vfat.ko
kernel/fs/jffs2/jffs2.ko
kernel/fs/lockd/lockd.ko
kernel/fs/nfs/nfs.ko
kernel/fs/nfs/nfsv2.ko
kernel/fs/nfs/nfsv3.ko
kernel/fs/nls/nls_base.ko
kernel/fs/nls/nls_cp437.ko
kernel/fs/nls/nls_ascii.ko
kernel/fs/nls/nls_iso8859-1.ko
kernel/fs/squashfs/squashfs.ko
kernel/crypto/crypto.ko
kernel/crypto/crypto_wq.ko
kernel/crypto/crypto_algapi.ko
kernel/crypto/aead.ko
kernel/crypto/crypto_blkcipher.ko
kernel/crypto/chainiv.ko
kernel/crypto/eseqiv.ko
kernel/crypto/crypto_hash.ko
kernel/crypto/pcompress.ko
kernel/crypto/cryptomgr.ko
kernel/crypto/hmac.ko
kernel/crypto/md5.ko
kernel/crypto/sha1_generic.ko
kernel/crypto/sha256_generic.ko
kernel/crypto/ecb.ko
kernel/crypto/cbc.ko
kernel/crypto/des_generic.ko
kernel/crypto/aes_generic.ko
kernel/crypto/arc4.ko
kernel/crypto/deflate.ko
kernel/crypto/michael_mic.ko
kernel/crypto/crc32c.ko
kernel/crypto/authenc.ko
kernel/crypto/authencesn.ko
kernel/crypto/rng.ko
kernel/crypto/krng.ko
kernel/block/cfq-iosched.ko
kernel/drivers/base/firmware_class.ko
kernel/drivers/block/brd.ko
kernel/drivers/block/loop.ko
kernel/drivers/block/zram/zram.ko
kernel/drivers/i2c/i2c-core.ko
kernel/drivers/i2c/algos/i2c-algo-bit.ko
kernel/drivers/i2c/busses/i2c-gpio.ko
kernel/drivers/i2c/busses/i2c-v12-jz.ko
kernel/drivers/input/input-core.ko
kernel/drivers/input/evdev.ko
kernel/drivers/input/keyboard/gpio_keys.ko
kernel/drivers/media/media.ko
kernel/drivers/media/v4l2-core/videodev.ko
kernel/drivers/media/v4l2-core/v4l2-int-device.ko
kernel/drivers/media/v4l2-core/v4l2-common.ko
kernel/drivers/media/v4l2-core/videobuf2-core.ko
kernel/drivers/media/v4l2-core/videobuf2-memops.ko
kernel/drivers/mfd/mfd-core.ko
kernel/drivers/mfd/jz_tcu.ko
kernel/drivers/misc/logger.ko
kernel/drivers/mmc/card/mmc_block.ko
kernel/drivers/mmc/core/mmc_core.ko
kernel/drivers/mmc/host/jzmmc_v12.ko
kernel/drivers/mtd/mtd.ko
kernel/drivers/mtd/cmdlinepart.ko
kernel/drivers/mtd/mtd_blkdevs.ko
kernel/drivers/mtd/mtdblock.ko
kernel/drivers/mtd/chips/chipreg.ko
kernel/drivers/mtd/devices/jz_sfc.ko
kernel/drivers/net/macvlan.ko
kernel/drivers/net/mii.ko
kernel/drivers/net/tun.ko
kernel/drivers/net/phy/libphy.ko
kernel/drivers/regulator/fixed.ko
kernel/drivers/switch/switch_class.ko
kernel/drivers/tty/serial/serial_core.ko
kernel/drivers/tty/serial/jz_uart.ko
kernel/drivers/usb/usb-common.ko
kernel/drivers/usb/core/usbcore.ko
kernel/drivers/usb/dwc2/dwc2.ko
kernel/drivers/usb/dwc2/dwc2_jz.ko
kernel/drivers/usb/gadget/udc-core.ko
kernel/drivers/watchdog/jz_wdt.ko
kernel/sound/soundcore.ko
kernel/sound/sound_firmware.ko
kernel/sound/core/snd.ko
kernel/sound/core/snd-timer.ko
kernel/sound/core/snd-pcm.ko
kernel/sound/core/snd-page-alloc.ko
kernel/sound/drivers/snd-aloop.ko
kernel/net/ipv4/esp4.ko
kernel/net/ipv4/inet_diag.ko
kernel/net/ipv4/tcp_diag.ko
kernel/net/ipv4/tcp_cubic.ko
kernel/net/ipv6/ipv6.ko
kernel/net/ipv6/inet6_hashtables.ko
kernel/net/mac80211/mac80211.ko
kernel/net/packet/af_packet.ko
kernel/net/sunrpc/sunrpc.ko
kernel/net/unix/unix.ko
kernel/net/wireless/cfg80211.ko
kernel/net/xfrm/xfrm_algo.ko
kernel/lib/bitrev.ko
kernel/lib/crc16.ko
kernel/lib/crc32.ko
kernel/lib/lz4/lz4_compress.ko
kernel/lib/lz4/lz4_decompress.ko
kernel/lib/lzo/lzo_compress.ko
kernel/lib/lzo/lzo_decompress.ko
kernel/lib/xz/xz_dec.ko
kernel/lib/zlib_deflate/zlib_deflate.ko
kernel/lib/zlib_inflate/zlib_inflate.ko

View File

@@ -0,0 +1,24 @@
kernel/fs/mbcache.ko
kernel/fs/fscache/fscache.ko
kernel/fs/ext4/ext4.ko
kernel/fs/jbd2/jbd2.ko
kernel/fs/cifs/cifs.ko
kernel/crypto/md4.ko
kernel/drivers/net/usb/r8152.ko
kernel/drivers/net/usb/asix.ko
kernel/drivers/net/usb/ax88179_178a.ko
kernel/drivers/net/usb/cdc_ether.ko
kernel/drivers/net/usb/rndis_host.ko
kernel/drivers/net/usb/usbnet.ko
kernel/drivers/usb/storage/usb-storage.ko
kernel/drivers/usb/gadget/libcomposite.ko
kernel/drivers/usb/gadget/u_ether.ko
kernel/drivers/usb/gadget/usb_f_ncm.ko
kernel/drivers/usb/gadget/g_ncm.ko
kernel/drivers/scsi/scsi_mod.ko
kernel/drivers/scsi/sd_mod.ko
kernel/net/ipv4/ip_tunnel.ko
kernel/net/ipv4/tunnel4.ko
kernel/net/ipv6/sit.ko
kernel/net/wireguard/wireguard.ko
kernel/net/dns_resolver/dns_resolver.ko

View File

@@ -6,22 +6,32 @@ DISABLE_FW_UPGRADE="false"
HOSTNAME="WCV3"
#####NETWORKING#####
ENABLE_USB_ETH="false"
ENABLE_USB_DIRECT="false"
USB_DIRECT_MAC_ADDR="02:01:02:03:04:08"
ENABLE_USB_RNDIS="false"
#####ACCESSORIES#####
REMOTE_SPOTLIGHT="false"
REMOTE_SPOTLIGHT_HOST="0.0.0.0"
#####VIDEO STREAM#####
RTSP_ENABLED="false"
RTSP_ENABLE_AUDIO="false"
RTSP_LOGIN="admin"
RTSP_PASSWORD=""
RTSP_PORT="8554"
#####GENERAL#####
ENABLE_IPV6="false"
ENABLE_USB_STORAGE="false"
ENABLE_WIREGUARD="false"
ENABLE_EXT4="false"
ENABLE_CIFS="false"
#####DEBUG#####
DEBUG_ENABLED="false"
#drops you to a shell via serial, doesn't load app_init.sh
@@ -43,6 +53,60 @@ swap_enable() {
fi
}
if [[ "$ENABLE_USB_RNDIS" == "true" ]]; then
insmod /opt/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/drivers/net/usb/usbnet.ko
insmod /opt/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/drivers/net/usb/cdc_ether.ko
insmod /opt/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/drivers/net/usb/rndis_host.ko
swap_enable
ifconfig usb0 down
ifconfig wlan0 down
/media/mmc/wz_mini/bin/busybox ip link set wlan0 name wlanold
/media/mmc/wz_mini/bin/busybox ip addr flush dev wlanold
/media/mmc/wz_mini/bin/busybox ip link set usb0 name wlan0
ifconfig wlan0 up
pkill udhcpc
udhcpc -i wlan0 -x hostname:$HOSTNAME -p /var/run/udhcpc.pid -b
# sleep 5
mount -o bind /media/mmc/wz_mini/bin/wpa_cli.sh /bin/wpa_cli
else
echo "rndis disabled"
fi
if [[ "$ENABLE_WIREGUARD" == "true" ]]; then
insmod /opt/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/net/ipv4/tunnel4.ko
insmod /opt/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/net/ipv4/ip_tunnel.ko
insmod /opt/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/net/wireguard/wireguard.ko
else
echo "wireguard disabled"
fi
if [[ "$ENABLE_CIFS" == "true" ]]; then
insmod /opt/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/fs/cifs/cifs.ko
else
echo "cifs disabled"
fi
if [[ "$ENABLE_USB_STORAGE" == "true" ]]; then
insmod /opt/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/drivers/scsi/scsi_mod.ko
insmod /opt/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/drivers/scsi/sd_mod.ko
insmod /opt/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/drivers/usb/storage/usb-storage.ko
else
echo "usb_storage disabled"
fi
if [[ "$ENABLE_EXT4" == "true" ]]; then
insmod /opt/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/fs/jbd2/jbd2.ko
insmod /opt/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/fs/mbcache.ko
insmod /opt/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/fs/ext4/ext4.ko
else
echo "ext4 disabled"
fi
if [[ "$ENABLE_IPV6" == "true" ]]; then
echo "ipv6 enabled"
else
@@ -54,6 +118,9 @@ if [[ "$ENABLE_USB_ETH" == "true" ]]; then
swap_enable
insmod /opt/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/drivers/net/usb/usbnet.ko
insmod /opt/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/drivers/net/usb/asix.ko
ifconfig eth0 down
ifconfig wlan0 down
@@ -71,7 +138,20 @@ if [[ "$ENABLE_USB_ETH" == "true" ]]; then
fi
if [[ "$ENABLE_USB_DIRECT" == "true" ]]; then
##ONLY WORKS WITH g_ethernet enabled kernel
#Set dwc2 ID_PIN driver memory
devmem 0x13500000 32 0x001100cc
devmem 0x10000040 32 0x0b000096
#wipe the bits to set the ID_PIN
devmem 0x10000040 32 0x0b000FFF
insmod /opt/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/drivers/usb/gadget/libcomposite.ko
insmod /opt/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/drivers/usb/gadget/u_ether.ko
insmod /opt/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/drivers/usb/gadget/usb_f_ncm.ko
insmod /opt/wz_mini/lib/modules/3.10.14__isvp_swan_1.0__/kernel/drivers/usb/gadget/g_ncm.ko iManufacturer=wz_mini_ncm
sleep 1
ifconfig usb0 down
ifconfig wlan0 down
/media/mmc/wz_mini/bin/busybox ip link set wlan0 name wlanold