OpenWrt Forum Archive

Topic: Update on Linksys WRT1900AC support

The content of this topic has been archived between 16 Sep 2014 and 7 May 2018. Unfortunately there are posts – most likely complete pages – missing.

@fcs001fcs

Thx, I see how it works now smile

can some one help I change a dhcp or nat setting and can no longer access router
I have a wrt1900ac openwrt attitude adjustment ive tried the reset on back of router thanks for your help

cur24tiss wrote:

can some one help I change a dhcp or nat setting and can no longer access router
I have a wrt1900ac openwrt attitude adjustment ive tried the reset on back of router thanks for your help

If you are running OpenWRT McWRT the recessed reset button on the back will work by pressing and holding for 30 seconds.

If you delete the LAN interface that's a different matter. Try connect via wireless in that case.

@JulianR
I assume this means things are working for you now?


JulianR wrote:
LookingForMyMojo wrote:

I'm not a developer like the guys here, but did you reboot your modem?

Thank you very much. I have no idea why I had to reset the modem but it worked. Usually you just have to plug in the Ethernet cable. At least that how it works with a regular computer and the TP-Link TL-WDR4900.

mmilburn wrote:

Can you tell us a little bit more about your network setup?  It's difficult for me to say what may be going wrong given what I know about your situation.  Don't worry about the "Get WAN IP address..." log entry.  That's generated by the wan_monitor script, and it doesn't always display correct diagnostic information.

Can you show us your /etc/config/network file (with sensitive information removed, of course)?

Maybe someone has the same problem so here is my setup:
I have a CBN CH6640E cable modem running in "direct mode" (all routing functionality is disabled and you get your public IP when you connect your device to it)
I've connected this modem to the yellow "Internet" port of the WRT1900AC and configured WAN to work via DHCP.
My /etc/config/network file looks like this:

config interface 'loopback'
        option ifname 'lo'
        option proto 'static'
        option ipaddr '127.0.0.1'
        option netmask '255.0.0.0'

config interface 'lan'
        option type 'bridge'
        option proto 'static'
        option ipaddr '192.168.200.1'
        option netmask '255.255.255.0'
        option ip6assign '60'
        option _orig_ifname 'eth0 wdev0ap0 wdev1ap0'
        option _orig_bridge 'true'
        option ifname 'eth0 wdev0ap0 wdev1ap0'

config interface 'wan'
        option _orig_ifname 'eth1'
        option _orig_bridge 'false'
        option ifname 'eth1'
        option proto 'dhcp'

config globals 'globals'
        option ula_prefix 'fd3a:482e:b1ca::/48'

config interface 'wan6'
        option ifname '@wan'
        option _orig_ifname '@wan'
        option _orig_bridge 'false'
        option proto 'dhcpv6'
        option reqaddress 'force'
        option reqprefix 'auto'

What is the new command "procd_append_param" and where is it located?

Many of the /etc/init.d scripts for newer BB packages use procd_append_param heavily but I can't seem to find any documentation regarding it.

mmilburn wrote:

@nyt
That tx power file is pretty interesting.  Do you have any hunches about the meaning behind the values listed after each channel?

Channels and power levels.  Not sure why they decrease going to the right?  Maybe some kind of backoff if other channels are around?  I don't know hmm

Looking through the driver source, there's a channel ID, setcap bool, an array of power levels, then second to last is CDD, then last is txantenna2.

 
                                       /* total param: ch + setcap + 12 txpower + CDD + tx2 = 16 */

It seems cyclic delay diversity is disabled for each channel by default.  I was able to turn it on, but not sure if it makes any difference.

There's a lot of interesting stuff in the driver.

driver/linux/ap8xLnxApi.c has a whole bunch of features not being used that seem accessible with iwpriv setcmd.

Looks like CDD may be an improvement with beamforming.

What is Cyclic-Delay Diversity (CDD)?
In addition to actively forming beams towards the receiver, the 802.11n draft standard also includes a scheme for preventing unintentional beamforming. This can occur if the data being transmitted down the various spatial streams inadvertently forms correlated patterns, i.e., similar data sequences that are synchronized to each other; for example, a binary sequence such as '10101010...' will split among the antennas such that the signals emitted from all the antennas are phase-aligned. In a situation where the transmitted signals from multiple antennas are coherent in amplitude and phase, the radiation pattern will form beams. This is much like the manner in which antenna arrays obtain their directive characteristics by feeding multiple antennas with phase-shifted copies of the same signal. Unlike intentional beamforming, however, the pattern of lobes and nulls may not be oriented in such a way as to maximize the effect at the receiver, and thus unintentional beamforming can be detrimental to the system. To avoid unintentional beamforming, the IEEE 802.11n draft standard uses a process known as Cyclic Delay Diversity (CDD), which basically just offsets each spatial stream by a different constant, non-coherent delay. The offset considerably lowers the likelihood of correlated signals being transmitted by two or more antennas. This, in conjunction with a pseudorandom scrambler run over the transmitted data bits, ensures that the likelihood of two spatial streams correlating is very low.

                    else if ((strcmp(param[0], "loadtxpwrtable") == 0))
                    {
                        struct file *filp=NULL;
                        mm_segment_t oldfs;
                        char buff[120], *s;
                        int len, index=0, i, value=0;

                        oldfs = get_fs();
                        set_fs(KERNEL_DS);

                        filp = filp_open(param[1], O_RDONLY, 0);
                        // if (filp != NULL) // Note: this one doesn't work and will cause crash
                        if (!IS_ERR(filp))   // MUST use this one, important!!!
                        {
                            printk("loadtxpwrtable open <%s>: OK\n", param[1]);

                            /* reset the whole table */
                            for (i=0; i<IEEE_80211_MAX_NUMBER_OF_CHANNELS; i++)
                                memset(mib->PhyTXPowerTable[i], 0, sizeof(MIB_TX_POWER_TABLE));

                            while(1) {
                                s = buff;
                                while((len = vfs_read(filp, s, 0x01, &filp->f_pos)) == 1)
                                {
                                    if (*s == '\n') {
                                        /* skip blank line */
                                        if (s == buff)
                                            break;

                                        /* parse this line and assign value to data structure */
                                        *s = '\0';
                                        printk("index=<%d>: <%s>\n", index, buff);
#ifdef SOC_W8864
                                        /* 8864 total param: ch + setcap + 16 txpower + CDD + tx2 = 16 */
                                        sscanf(buff, "%s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s\n",  param[0], param[1], param[2], param[3], param[4], param[5]
                                        ,param[6], param[7], param[8], param[9], param[10], param[11], param[12], param[13], param[14], param[15], param[16], param[17]
                                        ,param[18], param[19]);

                                        if (strcmp(param[18], "on") == 0)
                                            value = 1;
                                        else if (strcmp(param[18], "off") == 0)
                                            value = 0;
#else
                                        /* total param: ch + setcap + 12 txpower + CDD + tx2 = 16 */
                                        sscanf(buff, "%s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s\n",  param[0], param[1], param[2], param[3], param[4], param[5]
                                        ,param[6], param[7], param[8], param[9], param[10], param[11], param[12], param[13], param[14], param[15]);

                                        if (strcmp(param[14], "on") == 0)
                                            value = 1;
                                        else if (strcmp(param[14], "off") == 0)
                                            value = 0;
#endif
                                        else {
                                            printk("txpower table format error: CCD should be on|off\n");
                                            break;
                                        }
                                        mib->PhyTXPowerTable[index]->CDD = value;

#ifdef SOC_W8864
                                        mib->PhyTXPowerTable[index]->txantenna2 = atohex2(param[19]);
#else
                                        mib->PhyTXPowerTable[index]->txantenna2 = atohex2(param[15]);
#endif

                                        mib->PhyTXPowerTable[index]->Channel = atoi(param[0]);
                                        mib->PhyTXPowerTable[index]->setcap = atoi(param[1]);

                                        for (i =0; i<TX_POWER_LEVEL_TOTAL; i++)
                                        {
                                            mib->PhyTXPowerTable[index]->TxPower[i] = atohex2(param[i+2]);
                                        }

                                        index++;
                                        break;
                                    }
                                    else
                                        s++;
                                }
                                if (len <= 0)
                                    break;
                            }

                            filp_close(filp, current->files);
                        }
                        else
                            printk("loadtxpwrtable open <%s>: FAIL\n", param[1]);

                        set_fs(oldfs);
                        break;
                    }
root@ZOMGWTFBBQWIFI:~# iwpriv wdev1 version
wdev1     version:Driver version: 7.2.5.4-W8864, Firmware version: 7.2.5.2

root@ZOMGWTFBBQWIFI:~# iwpriv wdev1 gettxpower
wdev1     gettxpower:
Current Channel Power level list (FW) :0x16 0x16 0x16 0x16 0x16 0x16 0x16 0x16 0x15 0x15 0x15 0x15 0x14 0x14 0x14 0x14

root@ZOMGWTFBBQWIFI:~# iwpriv wdev0 gettxpower
wdev0     gettxpower:
Current Channel Power level list (FW) :0x14 0x12 0x10 0x0f 0x12 0x10 0x0f 0x0d 0x0e 0x0d 0x0d 0x0d 0x00 0x00 0x00 0x00

root@ZOMGWTFBBQWIFI:~# iwpriv wdev1 getstalistext
wdev1     getstalistext:
1: bc:f5:ac:e0:5b:f0 n ASSOCIATED  Rate 87 Mbps, RSSI 74   A 64  B 65  C 59  D 64
2: 00:23:6c:97:d7:cf n ASSOCIATED  Rate 144 Mbps, RSSI 53   A 64  B 63  C 68  D 71

root@ZOMGWTFBBQWIFI:~# iwpriv wdev0 getstalistext
wdev0     getstalistext:
1: 00:14:bf:eb:94:ef g ASSOCIATED  Rate 1 Mbps, RSSI 45   A 72  B 67  C 70  D 63
2: bc:f5:ac:e0:5a:99 n ASSOCIATED  Rate 72 Mbps, RSSI 64   A 65  B 71  C 63  D 66
3: 10:bf:48:f1:17:27 n ASSOCIATED  Rate 65 Mbps, RSSI 58   A 65  B 68  C 64  D 62
4: 00:21:5c:65:80:f7 n ASSOCIATED  Rate 72 Mbps, RSSI 46   A 57  B 65  C 64  D 69

(Last edited by nyt on 29 Sep 2014, 08:55)

The luci-ssl issue has been solved but not committed to the repo.

If time allows and all goes well with QA testing. OpenWRT McWRT will most likely have a new release by the end of the week :smiley:

can some one help I change a dhcp or nat setting and can no longer access router
I have a wrt1900ac openwrt attitude adjustment ive tried the reset on back of router thanks for your help
ive tried holding in the reset  for 30 sec and tried to connect  wireless and luck thanks for your help  is there any thing I can do

when i connect  to the uplink port form my gateway it seam to get internet connect but i cant connect  get to the router when i to the port1 i can connect  to the gateway but i still cant connect  to the router

cur24tiss wrote:

can some one help I change a dhcp or nat setting and can no longer access router
I have a wrt1900ac openwrt attitude adjustment ive tried the reset on back of router thanks for your help
ive tried holding in the reset  for 30 sec and tried to connect  wireless and luck thanks for your help  is there any thing I can do

Try connecting via Ethernet with "Local Area Network" IP Address settings below and connect.

IP Address: 192.168.200.2
Subnet Mask: 255.255.255
Gateway: 192.168.200.1

DNS: 192.168.200.1

Otherwise try switch to the alternate firmware image:

https://github.com/Chadster766/McWRT/wi … s-firmware

cur24tiss wrote:

when i connect  to the uplink port form my gateway it seam to get internet connect but i cant connect  get to the router when i to the port1 i can connect  to the gateway but i still cant connect  to the router

I remember something similar happening when I first started messing around with this router, and the only fix I was able to come up with was cracking it open and using a serial connection to re-flash the firmware.

They really should have made the serial connection external, since they're expecting people to use open source firmware with it.

Chadster766, been a while since I posted, but just wanted to say good job on the custom build smile I'm going to be switching over to it soon (My current build has only crashed once in a month or so, but the wifi is definitely wonky on it still).

A hundred thousand pardons if this has been answered previously. but is there still no official firmware for the WRT1900AC?   I don't see any listed here:

http://wiki.openwrt.org/toh/linksys/wrt1900ac

it looks like you guys hacked one together that works, that said would you recommend I go with the wrt1900AC or another mfr altogether?

After having a gander at this thread I'm glad I haven't bought it. Can someone suggest a similarly specced supported router instead?

Nothing official...

We wait

IMO whether it's Belkin's developers or others in the end the "official" release will come from OpenWRT.

(Last edited by Chadster766 on 1 Oct 2014, 01:27)

If you're hoping for official support in the short term, I'd look for something else.  Longer term, I can see no technical reason for this hardware to not get official support.  We just have some work ahead of us: https://github.com/Chadster766/McWRT/wiki/Status
 

gnarbarian wrote:

it looks like you guys hacked one together that works, that said would you recommend I go with the wrt1900AC or another mfr altogether?

gufus wrote:

Nothing official...

We code

FTFY smile

I'm not a kernel dev (doesn't mean I'm not going to try) but the more I investigate the wireless driver, the better things look.

https://github.com/Chadster766/McWRT/wi … ll-88W8864

Feel free to weigh in and lemme know if I'm off base.

(Last edited by mmilburn on 1 Oct 2014, 15:05)

mmilburn wrote:

I'm not a kernel dev (doesn't mean I'm not going to try) but the more I investigate the wireless driver, the better things look.

https://github.com/Chadster766/McWRT/wi … ll-88W8864

Feel free to weigh in and lemme know if I'm off base.

Yes and the driver API also look understandable at a quick glance.

Just wanted to through in there that this morning my amber light turned the right color.......lol........

this just keeps getting better and better !

What is the actual state of supporting WRT1900AC by OpenWrt?
Is OpenWRT stable on it? Does it support Wifi? Is AC working?
Any known issues?

there is no official OpenWrt on it.

please follow/read this thread and you know the answer of your questions

mmilburn wrote:

@JulianR
I assume this means things are working for you now?

Yes everything is working so far. But I noticed, that my Android Phone (Razr I) needs a lot more power when connected to the WRT1900AC compared to other Access Points. Usually I get around 3 days of usage out of one charge. With the WRT1900AC I barely get one day.
Anyone experiencing anything similar?

skdubg wrote:

there is no official OpenWrt on it.

Thats what I know, but there is unofficial build.

skdubg wrote:

please follow/read this thread and you know the answer of your questions

Its 44 pages. Really hard to answer just few questions which are probably spread over all pages....