Building custom firmware for GL.iNet MT300N-V2

Thanks. I updated the imagebuilder.txt file

@alzhao – the image builder itself is relatively old. LEDE’s latest release is revision 3435, your image builder is revision 3346 – any plans to update it?

When/if you update it, could you please edit device profile so that the required packages are included by default?

Thanks!

@alzhao – how can I force the radio into HT20 (single 20MHz channel) mode?

I’ve tried:

uci set wireless.@wifi-device[0].htmode=‘HT20’

uci commit wireless

and it didn’t help.

@stangri, we are not using the newest version of LEDE. We are using stable version. No plan to update unless LEDE has another release.

For MTK driver,

HT20: htmode=0

HT20/40: htmode=1

 

Lede Uci

Mt7628 Uci

Name

value

Name

value

channel

0-14/auto

channel

0-14/auto

htmode

HT20/HT40

bw

0: 20MHz

1: 20MHz/40MHz

hwmode

11b/11g/11a

wifimode

0: 11b/g mixed

1: 11b only

2: 11a only

4: 11n only

6: 11g only

7: 11g/n mixed

8: 11a/n mixed

9: 11b/g/n mixed

10: 11a/g/n mixed

11: 11n in 5G band only

country

Eg: EN/CN

country

Eg: EN/CN

wmm

0/1

wmm

0: disable

1: enable

wds

0/1

wds_enable

0: Disable

1: Restrict mode – Same as Repeater mode

2: Bridge mode

3: Repeater mode

4: Lazy mode

ssid

“GL-MT300AN”

ssid

“GL-MT300AN”

encryption

None/wep/psk/psk2

encryption

None/wep/psk/psk2

key

“goodlife”

key

“goodlife”

txpower

0-20

txpower

1-100

mode

Ap/sta/monitor/ad-hoc

mode

Ap

@alzhao – I’ve set:

uci set wireless.@wifi-device[0].bw=0

uci commit wireless

wifi

 

And still v2 operates on 40Mhz band.

I just tried and it work. Now sure what is the reason.

 

@alzhao – I’ve retested the bandwidth setting and it does work.

I’m struggling with controlling wifi interfaces tho.

  1. When setting uci set wireless.@wifi-iface[0].disabled=1; uci commit; wifi – I can still connect to the first wireless interface. How can I disable a single interface without disabling the radio?

  2. If I add a second wireless interface (copying the settings from the first and adjusting SSID by adding another letter), the second wireless interface does not start and is not being reported by iwinfo.

I’m testing both interfaces with encryption disabled (wireless.@wifi-iface[0].encryption=‘none’ and wireless.@wifi-iface[1].encryption=‘none’). Please advise.

 

To reiterate on the point above, here’s the config I’m using and as evident from the screenshot attached only one SSID comes up:


# cat /etc/config/wireless

config wifi-device 'mt7628'
	option type 'mt7628'
	option vendor 'ralink'
	option band '2.4G'
	option autoch_skip '12;13;'
	option region '1'
	option ht_txstream '2'
	option ht_rxstream '2'
	option bw '0'
	option wifimode '10'
	option txpower '100'
	option channel '1'
	option country 'GB'
	option noscan '1'

config wifi-iface
	option device 'mt7628'
	option ifname 'ra0'
	option network 'lan'
	option mode 'ap'
	option key 'goodlife'
	option ssid 'SSID #1'
	option encryption 'none'
	option wps_pushbutton '0'

config wifi-iface
        option device 'mt7628'
        option ifname 'ra0'
        option network 'lan'
        option mode 'ap'
        option key 'goodlife'
        option ssid 'SSID #2'
        option encryption 'none'
        option wps_pushbutton '0'

 

@stangri, ra0 cannot use used for both SSID. I am asking my engineer what we can do.

@alzhao, I’ve tried different ifnames for the second wifi-iface, ra0, ra1, wds2 (after looking at iwinfo output), etc – nothing works.

Could you please confirm that you were able to replicate the issue on your end?

@stangri,

Download the attachment and unzip it. Upload uci2dat to /usr/bin

don’t forget to make it executable "chmod +x /usr/bin/uci2dat "

The first ifname should be set to ra0 and the send ifname should be set to ra1

You need to reboot the router if it doesn’t take effect.

Success!

Are you going to build a new uci2dat package or would I have to include the said file manually in my builds?

 

Oops, spoke too soon, this config still fails to bring second interface up:


# cat /etc/config/wireless

config wifi-device 'mt7628'
	option type 'mt7628'
	option vendor 'ralink'
	option band '2.4G'
	option autoch_skip '12;13;'
	option region '1'
	option ht_txstream '2'
	option ht_rxstream '2'
	option bw '0'
	option wifimode '10'
	option txpower '100'
	option channel '1'
	option country 'GB'
	option noscan '1'

config wifi-iface
	option device 'mt7628'
	option ifname 'ra0'
	option network 'lan'
	option mode 'ap'
	option key 'goodlife'
	option ssid 'SSID #1'
	option encryption 'none'
	option wps_pushbutton '0'
	option disabled '1'

config wifi-iface
        option device 'mt7628'
        option ifname 'ra1'
        option network 'lan'
        option mode 'ap'
        option key 'goodlife'
        option ssid 'SSID #2'
        option encryption 'none'
        option wps_pushbutton '0'

I need to be able to disable first interface while enabling second interface. That worked very well on v1 hardware.

To add to that, when one interface in the STA mode, and the other one is in AP, wireless isn’t working either. Again, that worked perfectly fine with v1 hardware.

Thanks for your post. I think you should refresh the uci2dat program which

we have fix the bug. I recommend strongly to reset router before you do it.

  1. Download the attachment and extract it with “tar xvf uci2dat_fix_bug.tar.gz”.

  2. Moving uci2dat to “/usr/bin/” directory, and moving ralink_common.sh to

“/lib/wifi/” directory. Don’t forget to make them executable.

  1. You need to reboot the router.

There is my testing for your wireless file, the attachment for detail.

@kyson.Lok thank you, could you please advise if this latest fix should also fix previously non-working STA/AP combo?

@kyson.Lok – I’ve used both uci2dat and the ralink_common.sh you’ve posted above and used the same config as above. While iwinfo does report both wireless interfaces, in reality none of my wireless devices can neither see nor connect to either SSID #1 nor SSID #2.

Please advise.

@stangri For my testing, it does work multi APs and AP/STA combo correctly.

I think you can try to execute “ifconfig ra0 up”. If it still doesn’t work. Could you

give me your email address? I send a firmware which build for me to you. It is OK

for my testing.

Seems to be working after another reboot, I’ll post back if I experience any more problems.

Do you have plans to integrate those files into the image builder/package?

Are there any plans to release an updated image builder with 7 critical vulnerabilities in dnsmasq patched?