OpenWrt Forum Archive

Topic: [MT7621A]WiTi Board is coming. Do you want to hack it?

The content of this topic has been archived between 8 Feb 2018 and 3 May 2018. Unfortunately there are posts – most likely complete pages – missing.

Just received my board, unsure if I received the 512mb, I suspect its the 256mb version. Regardless, I'm very excited.

LTH wrote:

Hi, thx for the info. I have just ordered the witi board, waiting for it to arrive.

Do I have to build a new image every time I need a specific function?

No, you can install packages for new functionality using opkg.

LTH wrote:

Is there anyone who can give a guide on how to build my own image for nitro's repo?
I would like to add a git server and also add a print server.

Follow this guide from the vendor but use his repo instead.
https://mqmaker.com/doc/make-your-own-image/
You can add packages for those things in make menuconfig or you can do it afterward with opkg

LTH wrote:

Is it possible to install a native ubuntu? - would the network/wifi performance be the same as openwrt image?

Thx..., for the good working you guys do!

I don't think so. I did hear a guy in #openwrt mention he built a Gentoo image, but you'd have to ask about that.

encore2097 wrote:

Just received my board, unsure if I received the 512mb, I suspect its the 256mb version. Regardless, I'm very excited.

Here you will learn how to check and possibly revive the 512 MB of RAM :
https://forum.mqmaker.com/t/how-to-enab … bin/218/17
In short, the level of installed the original system version (best to do with the level of interconnection of the board of "serial") Witi enough to do:

root@Witi:/# wget http://ftp.mqmaker.com/WiTi/Firmware/uboot.bin
Connecting to ftp.mqmaker.com (198.199.100.35:80)
uboot.bin 100% |*******************************| 105k 0:00:00 ETA
root@Witi:/# dd if=uboot.bin of=/dev/mtdblock0 bs=1024
105+1 records in
105+1 records out
root@Witi:/# reboot

...If you actually version 512 MB RAM, next start it will reveal.


As for the version that you actually have, should result from your order ... but, no I in your place was not so sure as ordered version of 512 MB of RAM is actually so to get to you. Good in all this is at least that the author does not make the problems of a possible, partial reimbursement.
Unfortunately, I just met such a situation ...

sad

EDIT:
By the way, a question for @nitroshift - or using the latest version uboot.bin in your branch ( git clone -b witi-initial-support https://github.com/nitroshift/openwrt.git ) ?
If not, could you put your version of their board with flash and here insert a link to download ?
Ive loaded the latest uboot.bin and when I installed the compiled version of your repo on Github not quite everything went smoothly - generally all works pretty well (except for the detection and rw/ro to SD).

(Last edited by build000 on 10 Dec 2015, 09:51)

@build000

Please explain what you mean by "not quite everything went smoothly". Apart from the sdcard mounting read-only, which is a kernel bug, what other issues did you encounter?

nitroshift

jpcomps wrote:

@doodle.robot

opkg --force-depends install nfs-kernel-server

Best way however is if you compile it into your image from menuconfig, but this should prob work for a short term solution.

Thanks man I got it up and running.  Getting good throughput too at about 40MB/s

nitroshift wrote:

@build000

Please explain what you mean by "not quite everything went smoothly". Apart from the sdcard mounting read-only, which is a kernel bug, what other issues did you encounter?

nitroshift

hehe...in the end I think I discovered the cause of the problem (unwisely pointed out ramdisk to "make menuconfig") and probably hence errors when uploading an image.
Then I prepare to do a patch of patchwork (https://patchwork.ozlabs.org/patch/553098/) to the current source - in fact it's already compiled firmware openwrt.
I joined this fix yet:

shutin wrote:
nano target/linux/ramips/patches-3.18/0053-mmc-MIPS-ralink-add-sdhci-for-mt7620a-SoC.patch

Change line 1961 to

 +    .flags          = MSDC_SYS_SUSPEND | MSDC_CD_PIN_EN | MSDC_REMOVABLE | MSDC_HIGHSPEED,

Trying it now. We'll see if it works!

- we'll see what comes up.
big_smile

(Last edited by build000 on 10 Dec 2015, 15:11)

nitroshift wrote:

@LTH

After cloning my branch with git clone -b witi-initial-support https://github.com/nitroshift/openwrt follow this guide to compile the firmware: https://wiki.openwrt.org/doc/howto/build

nitroshift

Hey Nitroshift, I've done these steps exactly:

git clone -b witi-initial-support https://github.com/nitroshift/openwrt
cd openwrt/
./scripts/feeds update -a
./scripts/feeds install -a
make menuconfig

Yet

 System (MTK/Ralink APSOC) 

isn't an available option. Any tips as to what I'm doing wrong?

Edit: Whoops figured it out! That string was from mqmaker's instructions. Upon reading this: https://k0st.wordpress.com/2015/11/25/w … d-openwrt/ I found the proper targets:

Target System (Ralink RT288x/RT3xxx) --->
Subtarget (MT7621 based boards) --->
Target Profile (MQmaker WiTi) --->

In case anyone is confused!

(Last edited by shazzner on 10 Dec 2015, 19:25)

shutin wrote:
nano target/linux/ramips/patches-3.18/0053-mmc-MIPS-ralink-add-sdhci-for-mt7620a-SoC.patch

Change line 1961 to

 +    .flags          = MSDC_SYS_SUSPEND | MSDC_CD_PIN_EN | MSDC_REMOVABLE | MSDC_HIGHSPEED,

Trying it now. We'll see if it works!

confirm - this trick/patch/fix working perfectly SD Card = ro/rw/mout/umount/e2fsck/etc.
OpenWrt Designated Driver r47830 / LuCI Master (git-15.343.57108-63155e9) working fain.

...compile linux-4.3 ( https://dev.openwrt.org/changeset/47831 ) and latest r47832
big_smile
ehh linux-4.3 = witi openwrt not working properly:

(...)
[  641.081969] INFO: rcu_sched self-detected stall on CPU
[  641.092193]  0: (23972 ticks this GP) idle=eff/140000000000002/0 softirq=1948/1948 fqs=23953 
[  641.109137]   (t=24003 jiffies g=-73 c=-74 q=8650)
[  641.118659] Task dump for CPU 0:
[  641.125064] kworker/u8:2    R running      0   380      2 0x00100004
[  641.137726] Workqueue: kmmcd mmc_rescan [mmc_core]
[  641.147243] Stack : 00000001 80060f78 00000000 00000000 803c2ad8 8ee0164c 80420000 8005eeec
          00000006 8005f6fc 00000000 00000000 00000000 8ee0164c 80420000 8003edfc
          00000000 8ee01684 0000052d 00000000 00000000 00000000 8e482dec 8f2c3800
          8f2c3900 636d6d6b 00000064 00000000 00000000 00000000 00000000 00000000
          00000000 00000000 00000000 00000000 00000000 dc8ba100 00000000 8fb2e880
          ...
[  641.217936] Call Trace:
[  641.222791] [<80016960>] show_stack+0x50/0x84
[  641.231452] [<8006a05c>] rcu_dump_cpu_stacks+0xa4/0xe8
[  641.241666] [<8006d070>] rcu_check_callbacks+0x29c/0x720
[  641.252227] [<8006ef00>] update_process_times+0x34/0x70
[  641.262616] [<8007dee8>] tick_sched_timer+0x238/0x29c
[  641.272659] [<8006ff58>] __hrtimer_run_queues+0x10c/0x1d4
[  641.283392] [<800701b0>] hrtimer_interrupt+0xec/0x2ac
[  641.293435] [<800194fc>] c0_compare_interrupt+0x70/0x84
[  641.303821] [<800626b0>] handle_irq_event_percpu+0x64/0x184
[  641.314900] [<80065ef4>] handle_percpu_irq+0x8c/0xbc
[  641.324768] [<80061e58>] generic_handle_irq+0x28/0x38
[  641.334809] [<801d5848>] gic_handle_local_int+0x94/0xe8
[  641.345195] [<801d5a20>] gic_irq_dispatch+0x10/0x20
[  641.354889] [<80061e58>] generic_handle_irq+0x28/0x38
[  641.364933] [<80013760>] do_IRQ+0x1c/0x2c
[  641.372900] [<801d4d64>] plat_irq_dispatch+0x98/0xc4
[  641.382760] 
(...)

Probably you need a previous charge pooled a lot of changes ... and perhaps the new fixes are required for kernel.
Generally the system boots an awfully long time, and not to the end - it stops further start on the above error message that is repeated over and over.
sad
Edit:
At the moment the last revision is acting r47830.

(Last edited by build000 on 11 Dec 2015, 01:23)

just read what it is on the memory chip.(google it) then you will found your board memory size...

build000 wrote:
encore2097 wrote:

Just received my board, unsure if I received the 512mb, I suspect its the 256mb version. Regardless, I'm very excited.

Here you will learn how to check and possibly revive the 512 MB of RAM :
https://forum.mqmaker.com/t/how-to-enab … bin/218/17
In short, the level of installed the original system version (best to do with the level of interconnection of the board of "serial") Witi enough to do:

root@Witi:/# wget http://ftp.mqmaker.com/WiTi/Firmware/uboot.bin
Connecting to ftp.mqmaker.com (198.199.100.35:80)
uboot.bin 100% |*******************************| 105k 0:00:00 ETA
root@Witi:/# dd if=uboot.bin of=/dev/mtdblock0 bs=1024
105+1 records in
105+1 records out
root@Witi:/# reboot

...If you actually version 512 MB RAM, next start it will reveal.


As for the version that you actually have, should result from your order ... but, no I in your place was not so sure as ordered version of 512 MB of RAM is actually so to get to you. Good in all this is at least that the author does not make the problems of a possible, partial reimbursement.
Unfortunately, I just met such a situation ...

sad

EDIT:
By the way, a question for @nitroshift - or using the latest version uboot.bin in your branch ( git clone -b witi-initial-support https://github.com/nitroshift/openwrt.git ) ?
If not, could you put your version of their board with flash and here insert a link to download ?
Ive loaded the latest uboot.bin and when I installed the compiled version of your repo on Github not quite everything went smoothly - generally all works pretty well (except for the detection and rw/ro to SD).

@build000

Remove the SD card and reboot. See if it panics again.

nitroshift

The patches that add WiTi support in mainline OpenWRT have been accepted, which means that in the following days it will be officially merged. Please follow OpenWRT timeline for the commit during the next couple of days. Happy hacking!

nitroshift

Later edit: https://dev.openwrt.org/changeset/47845

(Last edited by nitroshift on 11 Dec 2015, 16:50)

Finally:-)

nitroshift wrote:

@build000

Remove the SD card and reboot. See if it panics again.

nitroshift

The problem is that the mere presence of the driver causes such panic starts Witi - just as removed from the configuration drivers from mmc engine started, but still start takes too long - I feel like disagreed on some internal clocks with the current code - one way or another appeared additional patches for ramipsa and I hope it is removed through.

@gsustek - I suggest you read the whole topic, which link itself quoted - Your attention seems out of place and taken out of context - I know perfectly well how to check the markings of RAM.

Good news - Witi added to the mainline.
big_smile

(Last edited by build000 on 11 Dec 2015, 17:25)

@build000

You don't need kmod-mmc.

nitroshift

nitroshift wrote:

@build000

You don't need kmod-mmc.

nitroshift

Exactly - only then start successful.
In a moment I'll try again compilations, as this time, the main line openwrt.
...hmmm https://dev.openwrt.org/ticket/21358
there is something wrong with patches.
...and still default to profiles uses "kmod-mmc".

(Last edited by build000 on 11 Dec 2015, 18:36)

@build000

There's a problem with your git clone. Delete it and start afresh.

nitroshift

Ok. - can build witch orginal profile (r47872) system crash a boot - can remove kmod-mmc and depending on, an re-compile - system boot properly and working.
To sum up - supports SD Card while what lies...
big_smile

nitroshift wrote:

@build000

There's a problem with your git clone. Delete it and start afresh.

nitroshift

It has no effect - the problem is probably deeper, something that is related to the Git project openwrt. Other repositories are ok. - Only openwrt such bushes.

root@OpenWrt:~# lspci
00:00.0 PCI bridge: Device 0e8d:0801 (rev 01)
00:01.0 PCI bridge: Device 0e8d:0801 (rev 01)
00:02.0 PCI bridge: Device 0e8d:0801 (rev 01)
01:00.0 Network controller: MEDIATEK Corp. MT7662E 802.11ac PCI Express Wireless Network Adapter
02:00.0 Network controller: MEDIATEK Corp. MT7662E 802.11ac PCI Express Wireless Network Adapter
03:00.0 SATA controller: ASMedia Technology Inc. ASM1062 Serial ATA Controller (rev 01)
root@OpenWrt:~# 

... big_smile
radio 5 GHz 80 MHz not working - Yes it shows up as acting, so that nothing can with the radio 5 GHz/AP combine (and I have some equipment with AC, Note 3) - acts only as I set 40 MHz - working (efficiently 45-max. 85 Mb/s).
Software on the original works without hesitation - to Note 3 ~ 190-220 Mb/s.

(Last edited by build000 on 12 Dec 2015, 10:29)

@build000

Kmod-mmc is a dependency for kmod-sdhci-mt7621. Config issue.

nitroshift

(Last edited by nitroshift on 12 Dec 2015, 19:05)

nitroshift wrote:

@build000

Kmod-mmc is a dependency for kmod-sdhci-mt7621. Config issue.

nitroshift

Is there something you know when SD slot/card will eventually operate under openwrt ?

(Last edited by build000 on 12 Dec 2015, 19:40)

Will be looking into that next week.

nitroshift

I wanted to get a baseline for benchmarks and have a testable build system with meaningful metrics that will be useful for regression testing when I hack on OpenWRT.

Benchmarks with WiTi default firmware: 14.07 (rMBP 13" <-> WiTi <-> ARM Quad Cortex-A15)

Type                                                              Bandwidth                          Latency  (min/avg/max/mdev)
LAN <-> LAN                                                ~940 Mbits/sec                     0.753 / 0.957 / 1.305 / 0.130 ms

I'm unable to enable the WiFi with the default firmware, no WPA2 options for wireless security exist. WAN is not connected, could that be the issue?

Wireless (2.4) <-> LAN
Wireless (5.8) <-> LAN
Wireless (2.4) <-> Wireless (2.4)
Wireless (5.8) <-> Wireless (5.8)

Can I configure my WiTi Board with 5 or 6 LAN ports?

Thanks.

can anyone compile successfully latest trunk ?

maurer wrote:

can anyone compile successfully latest trunk ?

Yes - must only disable kmod-mmc (bug - not working and system hangs at startup) and etc. (sdhci) - if you are compiling in this way the system works.
Currently my WiTi (256 MB RAM) working on OpenWrt Designated Driver r47892 / LuCI Master (git-15.343.57108-63155e9).
If someone I would want to share (the soft touch of enriched with NCM connection management for Huawei modems from Luci - generally improved their performance by a small correction in comgt-ncm and added a bit of firmware from the official repo and 2 packages outside the official repos: bitmeteros + luci-app-acces-control /It is a bug in the kernel firewall, so it works only in GMT+0/ + some scripts by default inactive). Let me know throw it somewhere in a file hosting more suitable for you, as long as it is for the test here:
openwrt-ramips-mt7621-witi-squashfs-sysupgrade.bin
openwrt-ramips-mt7621-witi-rootfs.tar.gz
These malfunctioning drivers mmc/sdhci compiled as modules for later installation you can easily perform a possible firstboot - like someone wants I put the "<source trunk>/bin/ramips/".
If someone would need more information on the changes made in relation to the default installation openwrt (a little added/changed functionality in several programs/libraries)
- willing to describe them ( http://wklej.org/id/1878176/ ).
In any event, a summary should be added that the latest trunk running on the device.


EDIT (important):
WiFi 5 GHz work to VHT80 only can use this settings:

config wifi-device 'radio0'
    option type 'mac80211'
    option channel '36'
    option hwmode '11a'
    option path 'pci0000:00/0000:00:00.0/0000:01:00.0'
    option htmode 'VHT80'
    option txpower '20'
    option country '00'

config wifi-iface
    option device 'radio0'
    option network 'lan'
    option mode 'ap'
    option ssid '********'
    option encryption 'psk2+ccmp'
    option key '*******'
    option wps_pushbutton '0'
    option macfilter 'allow'
    list maclist '****************'
    list maclist '****************'

iw list (radio1/phy1/wlan1 disabled and not configured):

root@OpenWrt:~# iw list
Wiphy phy1
    max # scan SSIDs: 4
    max scan IEs length: 2257 bytes
    max # sched scan SSIDs: 0
    max # match sets: 0
    Retry short limit: 7
    Retry long limit: 4
    Coverage class: 0 (up to 0m)
    Available Antennas: TX 0 RX 0
    Supported interface modes:
         * IBSS
         * managed
         * AP
         * AP/VLAN
         * monitor
         * mesh point
    Band 1:
        Capabilities: 0x1f3
            RX LDPC
            HT20/HT40
            Static SM Power Save
            RX Greenfield
            RX HT20 SGI
            RX HT40 SGI
            TX STBC
            RX STBC 1-stream
            Max AMSDU length: 3839 bytes
            No DSSS/CCK HT40
        Maximum RX AMPDU length 65535 bytes (exponent: 0x003)
        Minimum RX AMPDU time spacing: 4 usec (0x05)
        HT TX/RX MCS rate indexes supported: 0-15
        Frequencies:
            * 2412 MHz [1] (20.0 dBm)
            * 2417 MHz [2] (20.0 dBm)
            * 2422 MHz [3] (20.0 dBm)
            * 2427 MHz [4] (20.0 dBm)
            * 2432 MHz [5] (20.0 dBm)
            * 2437 MHz [6] (20.0 dBm)
            * 2442 MHz [7] (20.0 dBm)
            * 2447 MHz [8] (20.0 dBm)
            * 2452 MHz [9] (20.0 dBm)
            * 2457 MHz [10] (20.0 dBm)
            * 2462 MHz [11] (20.0 dBm)
            * 2467 MHz [12] (20.0 dBm) (no IR)
            * 2472 MHz [13] (20.0 dBm) (no IR)
            * 2484 MHz [14] (20.0 dBm) (no IR)
    valid interface combinations:
         * #{ IBSS } <= 1, #{ managed, AP, mesh point } <= 8,
           total <= 8, #channels <= 1, STA/AP BI must match
    HT Capability overrides:
         * MCS: ff ff ff ff ff ff ff ff ff ff
         * maximum A-MSDU length
         * supported channel width
         * short GI for 40 MHz
         * max A-MPDU length exponent
         * min MPDU start spacing
Wiphy phy0
    max # scan SSIDs: 4
    max scan IEs length: 2247 bytes
    max # sched scan SSIDs: 0
    max # match sets: 0
    Retry short limit: 7
    Retry long limit: 4
    Coverage class: 0 (up to 0m)
    Available Antennas: TX 0 RX 0
    Supported interface modes:
         * IBSS
         * managed
         * AP
         * AP/VLAN
         * monitor
         * mesh point
    Band 2:
        Capabilities: 0x1f3
            RX LDPC
            HT20/HT40
            Static SM Power Save
            RX Greenfield
            RX HT20 SGI
            RX HT40 SGI
            TX STBC
            RX STBC 1-stream
            Max AMSDU length: 3839 bytes
            No DSSS/CCK HT40
        Maximum RX AMPDU length 65535 bytes (exponent: 0x003)
        Minimum RX AMPDU time spacing: 4 usec (0x05)
        HT TX/RX MCS rate indexes supported: 0-15
        VHT Capabilities (0x000001b0):
            Max MPDU length: 3895
            Supported Channel Width: neither 160 nor 80+80
            RX LDPC
            short GI (80 MHz)
            TX STBC
        VHT RX MCS set:
            1 streams: MCS 0-9
            2 streams: MCS 0-9
            3 streams: not supported
            4 streams: not supported
            5 streams: not supported
            6 streams: not supported
            7 streams: not supported
            8 streams: not supported
        VHT RX highest supported: 0 Mbps
        VHT TX MCS set:
            1 streams: MCS 0-9
            2 streams: MCS 0-9
            3 streams: not supported
            4 streams: not supported
            5 streams: not supported
            6 streams: not supported
            7 streams: not supported
            8 streams: not supported
        VHT TX highest supported: 0 Mbps
        Frequencies:
            * 5180 MHz [36] (20.0 dBm)
            * 5200 MHz [40] (20.0 dBm)
            * 5220 MHz [44] (20.0 dBm)
            * 5240 MHz [48] (20.0 dBm)
            * 5260 MHz [52] (20.0 dBm) (no IR, radar detection)
              DFS state: usable (for 1315 sec)
              DFS CAC time: 60000 ms
            * 5280 MHz [56] (20.0 dBm) (no IR, radar detection)
              DFS state: usable (for 1315 sec)
              DFS CAC time: 60000 ms
            * 5300 MHz [60] (20.0 dBm) (no IR, radar detection)
              DFS state: usable (for 1315 sec)
              DFS CAC time: 60000 ms
            * 5320 MHz [64] (20.0 dBm) (no IR, radar detection)
              DFS state: usable (for 1315 sec)
              DFS CAC time: 60000 ms
            * 5500 MHz [100] (20.0 dBm) (no IR, radar detection)
              DFS state: usable (for 1315 sec)
              DFS CAC time: 60000 ms
            * 5520 MHz [104] (20.0 dBm) (no IR, radar detection)
              DFS state: usable (for 1315 sec)
              DFS CAC time: 60000 ms
            * 5540 MHz [108] (20.0 dBm) (no IR, radar detection)
              DFS state: usable (for 1315 sec)
              DFS CAC time: 60000 ms
            * 5560 MHz [112] (20.0 dBm) (no IR, radar detection)
              DFS state: usable (for 1315 sec)
              DFS CAC time: 60000 ms
            * 5580 MHz [116] (20.0 dBm) (no IR, radar detection)
              DFS state: usable (for 1315 sec)
              DFS CAC time: 60000 ms
            * 5600 MHz [120] (20.0 dBm) (no IR, radar detection)
              DFS state: usable (for 1315 sec)
              DFS CAC time: 60000 ms
            * 5620 MHz [124] (20.0 dBm) (no IR, radar detection)
              DFS state: usable (for 1315 sec)
              DFS CAC time: 60000 ms
            * 5640 MHz [128] (20.0 dBm) (no IR, radar detection)
              DFS state: usable (for 1315 sec)
              DFS CAC time: 60000 ms
            * 5660 MHz [132] (20.0 dBm) (no IR, radar detection)
              DFS state: usable (for 1315 sec)
              DFS CAC time: 60000 ms
            * 5680 MHz [136] (20.0 dBm) (no IR, radar detection)
              DFS state: usable (for 1315 sec)
              DFS CAC time: 60000 ms
            * 5700 MHz [140] (20.0 dBm) (no IR, radar detection)
              DFS state: usable (for 1315 sec)
              DFS CAC time: 60000 ms
            * 5745 MHz [149] (20.0 dBm) (no IR)
            * 5765 MHz [153] (20.0 dBm) (no IR)
            * 5785 MHz [157] (20.0 dBm) (no IR)
            * 5805 MHz [161] (20.0 dBm) (no IR)
            * 5825 MHz [165] (20.0 dBm) (no IR)
    valid interface combinations:
         * #{ IBSS } <= 1, #{ managed, AP, mesh point } <= 8,
           total <= 8, #channels <= 1, STA/AP BI must match
    HT Capability overrides:
         * MCS: ff ff ff ff ff ff ff ff ff ff
         * maximum A-MSDU length
         * supported channel width
         * short GI for 40 MHz
         * max A-MPDU length exponent
         * min MPDU start spacing

(Last edited by build000 on 15 Dec 2015, 09:26)