Gentleman,

Following instructions at https://dev.openwrt.org/wiki/SubmittingPatches I am 
submitting patches to the trunk snapshot R42649 which provides support for this 
board…

————————————————————
[PATCH] - Support for RAMIPS based Tripmate HT-TM02 board

DESCRIPTION

Provides support for the Tripmate HT-TM02 personal router including LEDs and 
reset button. “Mode” switch is not supported. New profile includes full set of 
packages required to enable LEDs, USB, and LUCI. Patches were applied against 
trunk snapshot r42649. Functionality has been tested in AP, basic wifi client, 
wifi router, and routed client modes - all good.



Patch follows:


diff --git a/target/linux/ramips/base-files/etc/board.d/01_leds 
b/target/linux/ramips/base-files/etc/board.d/01_leds
index bf646ed..4cf49b5 100755
--- a/target/linux/ramips/base-files/etc/board.d/01_leds
+++ b/target/linux/ramips/base-files/etc/board.d/01_leds
@@ -112,6 +112,10 @@ case $board in
        hlk-rm04)
                set_wifi_led "rt2800pci-phy0::radio"
                ;;
+        ht-tm02)
+               ucidef_set_led_netdev "eth" "ETH" "ht-tm02:white:status" "eth0"
+               set_wifi_led "ht-tm02:blue:wifi"
+                ;;
        all0239-3g|\
        hw550-3g)
                set_usb_led "hw550-3g:green:usb"
diff --git a/target/linux/ramips/base-files/etc/board.d/02_network 
b/target/linux/ramips/base-files/etc/board.d/02_network
index e027b3b..c462fd8 100755
--- a/target/linux/ramips/base-files/etc/board.d/02_network
+++ b/target/linux/ramips/base-files/etc/board.d/02_network
@@ -97,6 +97,12 @@ ramips_setup_interfaces()
                ucidef_add_switch_vlan "switch0" "2" "4 9t"
                ;;
 
+       ht-tm02)
+               ucidef_set_interface_lan "eth0.1"
+               ucidef_add_switch "switch0" "1" "1"
+               ucidef_add_switch_vlan "switch0" "1" "4 6t"
+               ;;
+
        3g-6200n | \
        dir-610-a1 | \
        dir-300-b7 | \
@@ -253,6 +259,7 @@ ramips_setup_macs()
        hlk-rm04 | \
        mpr-a1 | \
        mpr-a2 | \
+        ht-tm02 | \
        dir-300-b7 | \
        dir-320-b1 | \
        psr-680w |\
diff --git a/target/linux/ramips/base-files/etc/diag.sh 
b/target/linux/ramips/base-files/etc/diag.sh
index 9ad7ccb..9752eb2 100755
--- a/target/linux/ramips/base-files/etc/diag.sh
+++ b/target/linux/ramips/base-files/etc/diag.sh
@@ -63,6 +63,9 @@ get_status_led() {
        hlk-rm04)
                status_led="hlk-rm04:red:power"
                ;;
+       ht-tm02)
+               status_led="ht-tm02:white:status"
+               ;;
        all0239-3g|\
        hw550-3g)
                status_led="hw550-3g:green:status"
diff --git a/target/linux/ramips/base-files/lib/ramips.sh 
b/target/linux/ramips/base-files/lib/ramips.sh
index bb42ace..68ff509 100755
--- a/target/linux/ramips/base-files/lib/ramips.sh
+++ b/target/linux/ramips/base-files/lib/ramips.sh
@@ -157,6 +157,9 @@ ramips_board_detect() {
        *"HILINK HLK-RM04")
                name="hlk-rm04"
                ;;
+       *"HOOTOO HT-TM02")
+               name="ht-tm02"
+               ;;
        *"HAME MPR-A1")
                name="mpr-a1"
                ;;
diff --git a/target/linux/ramips/base-files/lib/upgrade/platform.sh 
b/target/linux/ramips/base-files/lib/upgrade/platform.sh
index 407c218..4aec780 100755
--- a/target/linux/ramips/base-files/lib/upgrade/platform.sh
+++ b/target/linux/ramips/base-files/lib/upgrade/platform.sh
@@ -52,6 +52,7 @@ platform_check_image() {
        hw550-3g | \
        hg255d | \
        hlk-rm04 | \
+       ht-tm02 | \
        ip2202 | \
        m3 | \
        m4 | \
diff --git a/target/linux/ramips/dts/HT-TM02.dts 
b/target/linux/ramips/dts/HT-TM02.dts
new file mode 100644
index 0000000..1f456f0
--- /dev/null
+++ b/target/linux/ramips/dts/HT-TM02.dts
@@ -0,0 +1,104 @@
+/dts-v1/;
+
+/include/ "rt5350.dtsi"
+
+/ {
+       compatible = "HT-TM02", "ralink,rt5350-soc";
+       model = "HOOTOO HT-TM02";
+
+       palmbus@10000000 {
+
+               gpio0: gpio@600 {
+                       status = "okay";
+               };
+               
+               spi@b00 {
+                       status = "okay";
+                       m25p80@0 {
+                               #address-cells = <1>;
+                               #size-cells = <1>;
+                               compatible = "mx25l6405d";
+                               reg = <0 0>;
+                               linux,modalias = "m25p80", "mx25l6405d";
+                               spi-max-frequency = <10000000>;
+
+                               partition@0 {
+                                       label = "u-boot";
+                                       reg = <0x0 0x30000>;
+                                       read-only;
+                               };
+
+                               partition@30000 {
+                                       label = "u-boot-env";
+                                       reg = <0x30000 0x10000>;
+                                       read-only;
+                               };
+
+                               factory: partition@40000 {
+                                       label = "factory";
+                                       reg = <0x40000 0x10000>;
+                                       read-only;
+                               };
+
+                               partition@50000 {
+                                       label = "firmware";
+                                       reg = <0x50000 0x7b0000>;
+                               };
+                       };
+               };
+       };
+
+       pinctrl {
+               state_default: pinctrl0 {
+                       gpio {
+                               ralink,group = "i2c", "jtag", "uartf";
+                               ralink,function = "gpio";
+                       };
+               };
+       };
+
+       ethernet@10100000 {
+               mtd-mac-address = <&factory 0x4>;
+       };
+
+       esw@10110000 {
+               ralink,portmap = <0x3f>;
+       };
+
+       wmac@10180000 {
+               ralink,mtd-eeprom = <&factory 0>;
+       };
+
+       ehci@101c0000 {
+               status = "okay";
+       };
+
+       ohci@101c1000 {
+               status = "okay";
+       };
+
+       gpio-leds {
+               compatible = "gpio-leds";
+               wifi  {
+                       label = "ht-tm02:blue:wifi";
+                       gpios = <&gpio0 7 1>;
+               };
+               status  {
+                       label = "ht-tm02:yellow:status";
+                       gpios = <&gpio0 12 1>;
+               };
+
+       };
+
+       gpio-keys-polled {
+               compatible = "gpio-keys-polled";
+               #address-cells = <1>;
+               #size-cells = <0>;
+               poll-interval = <20>;
+               wps {
+                       label = "reset";
+                       gpios = <&gpio0 10 1>;
+                       linux,code = <0x198>;
+               };
+       };
+};
diff --git a/target/linux/ramips/image/Makefile 
b/target/linux/ramips/image/Makefile
index 35057e4..c365d9d 100644
--- a/target/linux/ramips/image/Makefile
+++ b/target/linux/ramips/image/Makefile
@@ -434,6 +434,8 @@ define BuildFirmware/HLKRM04/initramfs
 endef
 Image/Build/Profile/HLKRM04=$(call 
BuildFirmware/HLKRM04/$(1),$(1),hlk-rm04,HLKRM04,HLK-RM02)
 
+Image/Build/Profile/HT-TM02=$(call 
BuildFirmware/Default8M/$(1),$(1),ht-tm02,HT-TM02)
+
 Image/Build/Profile/M3=$(call BuildFirmware/Poray4M/$(1),$(1),m3,M3)
 
 Image/Build/Profile/M4=$(call BuildFirmware/PorayDualSize/$(1),$(1),m4,M4)
@@ -598,6 +600,7 @@ define Image/Build/Profile/Default
        $(call Image/Build/Profile/FREESTATION5,$(1))
 #      $(call Image/Build/Profile/HG255D,$(1))
        $(call Image/Build/Profile/HLKRM04,$(1))
+       $(call Image/Build/Profile/HT-TM02,$(1))
        $(call Image/Build/Profile/HW550-3G,$(1))
        $(call Image/Build/Profile/IP2202,$(1))
        $(call Image/Build/Profile/M3,$(1))
diff --git a/target/linux/ramips/rt305x/profiles/hootoo.mk 
b/target/linux/ramips/rt305x/profiles/hootoo.mk
new file mode 100644
index 0000000..bbb8143
--- /dev/null
+++ b/target/linux/ramips/rt305x/profiles/hootoo.mk
@@ -0,0 +1,28 @@
+#
+# Copyright (C) 2013 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+
+define Profile/HT-TM02
+       NAME:=HOOTOO HT-TM02
+       PACKAGES:=\
+               wpad-mini \
+               kmod-ledtrig-netdev kmod-ledtrig-timer kmod-leds-gpio 
kmod-ledtrig-default-on \
+               kmod-usb-core kmod-usb-ohci kmod-usb2 kmod-usb-net usbutils \
+               kmod-scsi-core kmod-scsi-generic kmod-fs-ext4 \
+               kmod-usb-storage kmod-usb-storage-extras block-mount \
+               kmod-usb-serial kmod-usb-serial-ftdi kmod-gpio-button-hotplug \
+               kmod-nls-cp437 kmod-nls-iso8859-1 kmod-nls-utf8 luci 
luci-mod-admin-full \
+               kmod-app-samba luci-theme-openwrt luci-proto-relay relayd nano \
+               fstools 
+endef
+
+define Profile/HT-TM02/Description
+       Package set for HOOTOO HT-TM02 board
+endef
+
+$(eval $(call Profile,HT-TM02))
+



Signed-off-by: Ron Curry <wingspin...@gmail.com>

——————————————————————————————————————————



INSTALLATION NOTES (not part of the patch submission)

Factory firmware update mechanism is not compatible with standard OpenWRT 
images. I’ve decoded the factory image format and have generated “factory” 
firmware upgrade images which enable telnet and change the root password. The 
images are unique in that they combine a shell script with a gripped rootfs 
image which contains utilities and the new images for kernel and roots to do 
the update. This would seem great for repurposing for a OpenWrt “factory” image 
except that the SPI FLASH partitioning used by the factory UBoot firmware and 
Linux kernel they use  has separated partitions for kernel and rootFS with a 
couple of other partitions in-between. While the first four partitions are ok 
and in the correct places, the kernel partition is too small to accept a 
contiquous kernel/rootfs Openwrt image file. Therefore factory Linux OS based 
MTD tools won’t work. So, I found it easiest to simply replace the factory 
UBoot with a modified version with OpenWRT partitioning. >>>>If someone can 
tell me how to get the factory Linux to load and execute a ramdisk there still 
may be a solution that doesn’t require replacing the UBoot. <<<<< In any case 
the Uboot used for the HLK-RM04 works perfectly and that’s the path I’ve gone 
down for installation. The basic requirements for installation are similar to 
most other RT5350 based boards:

- Make a serial console connection - Pads for 3v console interface are clearly 
marked on the board and easily soldered.
- Replace the current UBoot partition contents with 
https://github.com/JiapengLi/OpenWrt-HiLink-HLK-RM04/blob/master/image/uboot256.img
- Follow similar process to the HLK-RM04

If my patch is accepted I will write up a detailed support page on the Wiki 
with instructions and photos.



Best regards,
Ron Curry
_______________________________________________
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel

Reply via email to