Fandom

InfoDepot Wiki

Linksys WRT320N v1.0

1,124pages on
this wiki
Add New Page
Talk0 Share

Your here: Home / Network / Hardware Specific / Cisco-Linksys / WRT320N v1.0

Linksys WRT320N v1.0
Linksys WRT320N v1.0a
???

Homepage

WRT320N

Wikipedia

Linksys WRT320N v1.0

WikiDevi

?

dd-wrt

Linksys WRT320N v1.0

OpenWRT

Not Supported

Tomato

Not Supported

TomatoUSB

Support Chart at Bottom

Gargoyle

Not Supported

NOTE: Requires K2.6, Do not flash anything else.
NOTE: During configuration or flashing a device, the only that should be hooked to the device is the computer and power.

Specs

Platform

Serial Num. = CUH01
FCC ID = Q87-WRT320N
CPU Type = Broadcom BCM4717A1KFBG (BCM4717A)
MIPS Rev = R2
CPU Speed = 354MHz
Bus = ?
Flash Type = Serial
Flash Chip = 25L6405DMI-12G
Flash Size = 8MB
Max Firmware Size = 7995392 bytes
RAM Size = 32MB
RAM Chip = hynix 919EA C HY5DU561622FTP-D43
nvram Size = 32kb
Switch = Broadcom BCM53115
Port-based vlan = Yes
802.1q vlan = Yes
Ethernet Port Count = 1-10/100/1000-WAN 4-10/100/1000-LAN
Wired Standard = IEEE 802.3/3u/3ab
boot_wait = ?
bootloader = CFE
Flash Card Socket/Type = No
SD/MMC Mod Support = No
MiniPCI slots = No
PoE = No
Power = 12V/1A
Color of LEDs = ?
Size = 7.95” x 1.34” x 6.30” (202 x 34 x 160 mm)
USB = No
Serial Port = 1
JTAG Port = Yes
Supported by TJTAG/Version = ?
Supported by dd-wrt as of = K26 build 12956
dd-wrt K2.4 Support = No
dd-wrt K2.6 Support = Yes
Supported by TomatoUSB as of = ?
TomatoUSB K2.4 Support = No
TomatoUSB K2.6 Support = Yes (NoUSB)
Special Features = dual band single radio

Radio (wl0)

Wireless Radio = Broadcom BCM4328
WLAN DSP processor = ?
Antenna Connector Type = Internal
Wireless Standard = IEEE 802.11a/b/g/n
WiFi Operating Frequency = 2.4GHz or 5GHz (Not at the same time)
 802.11n Draft = up to 300Mbps
 802.11g = 6, 9, 12, 18, 24, 36, 48, 54Mbps
 802.11b = 1, 2, 5.5, 11Mbps
 802.11a = 6, 9, 12, 18, 24, 36, 48, 54Mbps
Radio cor_rev = ?
Radio Capabilities = ?

Links of Interest

Flashing

Flashing DD-WRT

Sayling - before starting any of this, I would recommend printing this page, making a note of your current MAC address for your router, downloading the mini build and any other subsequent builds you want to flash...

  1. Change your computer's control panel Power Options so that it will NOT go to sleep, hibernate, screen-saver, or lose power during this critical task. Save the settings.
  2. Login to the Linksys original firmware. I use and recommend the Firefox 3.5.7 web browser. It should also work for Internet Explorer, but I didn't test IE.

(If you don't know how to login to the original firmware, read the Linksys manual).

  1. Then Reset to factory defaults (using the Administration\Factory defaults button).

Then Reboot, login again.

  1. Go to the Linksys web firmware flash upgrade page.
  2. For the FIRST TIME flashing to DD-WRT, web-flash-installe using the "dd-wrt.v24-14929_NEWD-2_K2.6_mini_wrt320n.bin" build. Sayling check for later builds in Eko's repository if you desire - just make sure it ends with mini_wrt320n.bin, as bbb-forever says:
    1. Make sure it has the suffix "_wrt320n.bin" because that file has the appropriate header info for FIRST-TIME flashing to DD-WRT on the Linksys 320N router.
    2. Sidebar: To find the latest build, go to http://www.dd-wrt.com/site/support/other-downloads
    3. Then go through Path: Downloads › others › eko › V24-K26 > {latest build number'}'
    4. Note: These latest builds are developmental, so there is usually some risk that things may not work as expected until someone tests it first.
    5. In the build folder, go up one or two folder levels to check if there are any "Readme.txt" file to read.
  3. I waited 3-5 minutes until the web page reported that the web-flash was successful. Wait another 3-5 minutes in case the firmware is rebooting and initializing the NVRAM or whatever (just wait to be sure that the flash is completely finished with its processing).
    1. The web page will usually automatically display the DD-WRT page when things are complete and ready for you to use.
    2. Then I manually logged-into the DD-WRT firmware. It should prompt you to change the user and password to something else.
    3. Then within DD-WRT, go to Status page, and verify the correct build number.
    4. Sayling The following steps (7 to 9) seem to be a belts and braces approach, and don't appear to be necessary
  4. After the router is ready again, I opened the browser and web-flash-install using the "dd-wrt.v24-13493_NEWD-2_K2.6_mini.bin" build.
    1. Or you can choose to web-flash to any of the other same build number variants.
  5. Wait 3-5 minutes, and the web page should automatically report that the flash was successful. Wait another 3-5 minutes in case the firmware is rebooting and initializing the NVRAM or whatever (just wait to be sure that the flash is completely finished with its processing).
  6. Login to the build and verify the correct build number on the Status page. Done.

Flashing TomatoUSB

  1. Follow the direction above for flashing DD-WRT.
  2. Then flash using the GUI Tomato-K26-MIPSR2-NoUSB Std.
  3. (don't forget to reset the router and nvram , just after each flash)
  4. Tomato-K26-MIPSR2-NoUSB vpn can also be used on this router.

Upgrading

If dd-wrt is already on the router follow these instructions. If stock firmware is on the router follow the flashing instructions.

  1. Check for recommended builds here first.
  2. Set your computer to a static IP of 192.168.1.7. (or to whatever subnet the router is on) Disable all firewalls and security. Disable wireless on your computer and only have the router connected to the flashing computer by the ethernet cable between the two.
  3. Hard reset or 30/30/30 (If the router supports it, if not, reset to defults in the GUI) prior to flashing. Wait. Check for password page on re-login and change password.
  4. Flash firmware. You can use the webgui except if you have a belkin router. (For belkin use tftp.exe to flash)
  5. Wait...at least three minutes. Lights should return to normal. See important2, below. Failing to wait is how most people brick their routers.
  6. Do a power cycle of the router. (Unplug the cord, count to 30 and plug it back in.)
  7. Wait for the lights to return to normal usually about 2 minutes.
  8. Hard reset or 30/30/30 again (If the router supports it, if not, reset to defults in the GUI). Wait. Check for the password page and re-login to change the password. Then you can reconfigure your settings manually.
  9. Once configured set your computer back to autoIP and autoDNS.

Important1: This Hard reset or 30/30/30 works fine for Asus router, but you do have to power cycle after the reset.

Important2: After you flash the firmware, and before you do the hard reset, the router will be building some nvram settings. YOU MUST WAIT FOR THIS TO FINISH PRIOR TO DOING ANYTHING WITH THE ROUTER INCLUDING A HARD RESET. Usually, you can tell when this process is completed by the WAN light coming on, but it does take several minutes. Go have a beer. There are starting to be more and more people who BRICK their routers by not waiting until the nvram is rebuilt, PRIOR to doing a hard reset. YOU NEED TO WAIT!

Reverting

Fixme This section is in need of cleanup!

just reset to defaults from dd-wrt webgui, then from within the dd-wrt webgui, select the stock firmware image and flash, make sure to select "reset to defaults" on the drop down menu.

JTAG/Serial Info

JTAG

JTAG Pinouts
nTRST   1o o2	GND
  TDI   3o o4	GND
  TDO   5o o6	GND
  TMS   7o o8	GND
  TCK   9o o10	GND
nSRST  11o o12  N/C
  N/C  13o o14  N/C
JTAG Recovery
Fixme This section is in need JTAG Recovery Instructions!

Serial

Serial Pinouts
VCC  1 o
 TX  2 o
 RX  3 o
N/C  4 o
GND  5 o
Hyper terminal Setup in Windows XP
In Windows XP, Click Start Button - All Programs - Accessories - 
   Communication - HyperTerminal
Enter a name for the connection, Click ok
Choose com port you adapter is plugged into, Click ok
Set:
 Bits per second = 115200
 Data Bits = 8
 Parity = none
 Stop bits = 1
 Flow control = none
Click ok
Click File - Save As, and select a place to save it to so you 
             don't have to enter the settings again.
Putty Setup in Windows XP
After installing putty, run it
 Serial line = The COM port your using for serial (ie. COM3)
 Speed = 115200
Click on Serial under Connection
 Serial line to connect to = same as above (Serial line)
 Speed (baud) = 115200
 Data bits = 8
 Stop bits = 1
 Parity = None
 Flow control = None
Click Session
 Enter a name for your connection under saved sessions
Click Save
Click Open
Serial Recovery

http://www.mi-computersupport.de/index.php/tutorial

vlan Info

Pictures

Linksys WRT320N v1.0b Linksys WRT320N v1.0c Linksys WRT320N v1.0d

Linksys WRT320N v1.0e

FCC Pictures

Linksys WRT320 v1.0 FCCa Linksys WRT320 v1.0 FCCb Linksys WRT320 v1.0 FCCc

Linksys WRT320 v1.0 FCCd Linksys WRT320 v1.0 FCCe Linksys WRT320 v1.0 FCCf

Linksys WRT320 v1.0 FCCg Linksys WRT320 v1.0 FCCh Linksys WRT320 v1.0 FCCi

Linksys WRT320 v1.0 FCCj Linksys WRT320 v1.0 FCCk Linksys WRT320 v1.0 FCCl

Linksys WRT320 v1.0 FCCm Linksys WRT320 v1.0 FCCn Linksys WRT320 v1.0 FCCo

Notes

Eko's original announcement and post

Hello!

Linksys WRT320N is now supported - please use only special _wrt320n.bin builds (based on kernel 2.6).

Hardware: CPU: BCM4717A 354MHz flash: 8MB serial ram: 32MB radio: A + G Antenna gain: 1st and 2nd main 1.5 dbi, 3rd antenna: 2.2 dBi Gigabit ethernet

WARNING: this is highly experimental and can brick your router.

I'm afraid I have really bad news for all wrt320n users - the only way to unbrick it is by using a serial console, because cfe (common firmware environment) has the wrong command to flash from tftp inside; also, the reset button is not enabled in the cfe (please - dump your anger at Linksys not at the messenger!).

If you have serial console access:

To erase nvram inside cfe, stop it and type:

erase nvram

reboot

To flash a new image, you need to stop cfe and issue the following manual command:

flash -ctheader : flash1.trx

then start tftp transfer.

Right...here is "erase nvram" procedure. You need to open the router. Next to cpu you will see some gpio dots labeled like this:

   GPIO11 o  <-copper dot here
     GPIO12
  GPIO15GPIO9
     GPIO6
         o    <- copper dots
       oo
        o    <--- this is gpio6 - short to ground

(a picture of the board is available here)

And you see 4 copper dots at corner of cpu. Cfe listens on gpio6 (like most other Linksys routers).

Disconnect the power from the router. Now get some thin wire or a needle; you need to ground GPIO6 (e.g to radio shield). Whilst keeping GPIO6 grounded, plug in the power (let somebody help you if needed), keep grounded for 6-8 seconds, then release. This should erase nvram.


If you are still willing to proceed:

Upgrading the firmware from stock Linksys to dd-wrt is straightforward - use the web GUI to upload new firmware. It is recommended a mini build is used first, then upgrade to any desired build for the router. Don't forget to restore to defaults between flashing the mini build and subsequent builds.

Old wrt320n thread for reference is here Dual Band (WRT320N) Now Supported


WARNING: Seems that Linksys wired the reset button to wrong gpio, so 30-30-30 reset doesn't work on this router (reset button works when dd-wrt runs). Also boot_wait is turned off by default (once you load dd-wrt, it is set to on).

Feedback welcome.

Links to build 12982: dd-wrt mini

dd-wrt std

dd-wrt openvpn

dd-wrt big

Check for new builds under my downloads, /V24-K26 and subfolders.

To turn cisco led blue / white ...

Eko:

Yellow cisco led on Linksys routers means that router got WAN ip. If you prefer it blue (white, ..) do:

In latest builds only (13522+):

nvram set connblue=1
nvram commit
reboot

Updates

Sayling 23:34, 6 April 2010 (CEST) Having spent four days looking at the lengthy topics (71 pages and counting on just one thread!) in the Broadcom SoC based Hardware forum, FLAGEL collated a lot of useful information and bbb-forever posted a damn good guide to flashing an out-of-the-box router:

FLAGEL's post

Posted by FLAGEL 17-Jan-2010, last updated 05-Feb-2010

Known issues with the WRT320N

Complicated to debrick

As the Common Firmware Environment[1.1] has a typo in the command that flashes from TFTP[1.2] a bricked unit must be unbricked with the help of serial console-access[1.3]. To connect to the serial interface of the device, which is located at the bottom and inside the WAN port[1.4], one must use an USB/RS232 to LVTTL (TTL 3,3V)[1.5] adapter as otherwise you can cause damage on your device[1.6].

Also, as the reset button is not enabled in CFE[1.3], to erase NVRAM from within CFE one must issue the command "erase nvram" followed by "reboot"[1.3]. To flash a new image within CFE one must issue the command "flash -ctheader : flash1.trx" and then proceed with the commonly known procedure of TFTP-flashing[1.3]. The issues with the faulty CFE can dealt with once TJATG for this device is in working order[1.7].

If one does not have serial console-access it is possible to erase NVRAM by grounding GPIO6 for 6-8 seconds[1.3]. As seen in a picture of the PCB[1.8] GPIO6 is on top of "19" and right of "20". More details about grouping GPIO6 can be found in the forum[1.9]

Update: A work-around[1.10] involving the WPS-button is said to be available as of 2009-12-19 or by build 13493[1.10]. --Sayling 23:34, 6 April 2010 (CEST)subsequent builds have the fix incorporated into the firmware now

Additional informations:
A detailed tutorial based on this instruction can be found here:
[1].

Sources:
[1.1] http://www.linux-mips.org/wiki/Common_Firmware_Environment
[1.2] http://www.dd-wrt.com/phpBB2/viewtopic.php?t=58566&postdays=0&postorder=asc&start=481
[1.3] http://www.dd-wrt.com/phpBB2/viewtopic.php?t=58566&postdays=0&postorder=asc&start=0
[1.4] http://www.dd-wrt.com/phpBB2/viewtopic.php?t=58566&postdays=0&postorder=asc&start=49
[1.5] Could someone confirm this and also provide a credible source?
[1.6] Could someone confirm this and also provide a credible source?
[1.7] http://www.dd-wrt.com/phpBB2/viewtopic.php?t=58566&postdays=0&postorder=asc&start=64
[1.8] http://www.dd-wrt.com/phpBB2/files/229_527.jpg
[1.9] http://www.dd-wrt.com/phpBB2/viewtopic.php?t=58566&postdays=0&postorder=asc&start=97
[1.10] http://www.dd-wrt.com/phpBB2/viewtopic.php?t=63004&postdays=0&postorder=asc&start=0

30-30-30 reset does not work

Linksys wired the reset button to the wrong GPIO, hence a 30-30-30 reset will not work[2.1].

Issue relevant as of: 2010-01-17

Sources:

[2.1] http://www.dd-wrt.com/phpBB2/viewtopic.php?t=58566&postdays=0&postorder=asc&start=0

UPnP is broken

This issue is believed to be a general issue with DD-WRT and the Linux 2.6 kernel[3.1][3.2] (which so far is only used by a few devices, one of them being WRT320N). Many of the UPnP-related issues seem to come from the UPnP-daemon crashing[3.3][3.4]. Some cases report that a viable workaround is changing the UPnP daemon to miniupnpd[3.5].

Update: Issue is said to be fixed as of 2009-12-28 by build 13527[3.7].

Sources:
[3.1] http://www.dd-wrt.com/phpBB2/viewtopic.php?t=61674&postdays=0&postorder=asc&start=0
[3.2] http://svn.dd-wrt.com:8000/dd-wrt/ticket/1306
[3.3] http://www.dd-wrt.com/phpBB2/viewtopic.php?t=58566&postdays=0&postorder=asc&start=92
[3.4] http://www.dd-wrt.com/phpBB2/viewtopic.php?t=58566&postdays=0&postorder=asc&start=174
[3.5] http://www.dd-wrt.com/phpBB2/viewtopic.php?t=61674&postdays=0&postorder=asc&start=0
[3.7] http://www.dd-wrt.com/phpBB2/viewtopic.php?t=63539&postdays=0&postorder=asc&start=0

CPU use averages to 100%

The web-interface tends to show an average CPU use of >=100%[4.1] but when checking top via SSH there doesn't seem to be any process responsible for such use of resources[4.2][4.3], still many users report the device being slow[4.4]. Some users have found the UPnP daemon to crash within a few minutes and that being the source of high CPU utilization[4.5], turning off UPnP seems to help these cases[4.6][4.7].

Update: Issue is said to be fixed as of 2009-12-28 by build 13527[4.8].

Sources:
[4.1] http://www.dd-wrt.com/phpBB2/viewtopic.php?t=58566&postdays=0&postorder=asc&start=37
[4.2] http://www.dd-wrt.com/phpBB2/viewtopic.php?t=58566&postdays=0&postorder=asc&start=44
[4.3] http://www.dd-wrt.com/phpBB2/viewtopic.php?t=58566&postdays=0&postorder=asc&start=45
[4.4] http://www.dd-wrt.com/phpBB2/viewtopic.php?t=58566&postdays=0&postorder=asc&start=59
[4.5] http://www.dd-wrt.com/phpBB2/viewtopic.php?t=58566&postdays=0&postorder=asc&start=180
[4.6] http://www.dd-wrt.com/phpBB2/viewtopic.php?t=58566&postdays=0&postorder=asc&start=121
[4.7] http://www.dd-wrt.com/phpBB2/viewtopic.php?t=58566&postdays=0&postorder=asc&start=122
[4.8] http://www.dd-wrt.com/phpBB2/viewtopic.php?t=63539&postdays=0&postorder=asc&start=0

No support for VLAN-tagging (IEEE 801.2Q) or Jumbo Frames

The switch chip, BCM53115, which can also be found in the Linksys WRT610N, does on hardware-level support both VLAN-tagging (IEEE 801.2Q) and Jumbo Frames[5.1]. However, since the chip is currently lacking a kernel driver the factory configuration cannot be changed. Note that the option "Assign WAN Port to Switch" actually works at the kernel IP level by adding the Internet "vlan2" device to the main bridge[5.2].

Issue relevant as of: 2010-01-17

Sources:
[5.1] http://www.broadcom.com/collateral/pb/53115-PB01-R.pdf
[5.2] http://www.dd-wrt.com/wiki/index.php/Linksys_WRT610N#No_VLAN_support

The LAN-ports are labeled backwards

This means that port labeled as 4 on the device is port 1 when it comes to VLAN-configuration, 3 is 2, 2 is 3 and 1 is 4[6.1]. The WAN-port which is labeled 0[6.1].

Issue relevant as of: 2009-12-18

Sources:
[6.1] http://www.dd-wrt.com/phpBB2/viewtopic.php?t=58566&postdays=0&postorder=asc&start=120

IPv6-related problems

There is very little consistent information available on this issue but it seems to be related to radvd[7.1]. This is some of the feedback gotten from users: [7.2]"Thanks for the build, The ipv6 using the HE tunnel broker doesn't seem to be working." [7.3]"Thank Eko, the ipv6 seems to be coming up fine now with the 13000 build. I don't see any errors in the log file except that radvd is looking for radvd.conf file in the wrong place. I fixed it by addig radvd -C /tmp/radvd.conf in the startup script. After that cliets get the ipv6 address right, but can't connect to any ipv6 address. Tracert or ping yield 1 Destination net unreachable. I am using HE tunnel broker and I am using the same scripts I used on the 11296M NEWD Eko build on my old WRT54GS ver1 router (which was working for months without any issues)" [7.4] "After some research, it seems creating the ipv6 over ipv4 tunnel is failing." [7.5]: "I'm currently running 13000M and I have problems with the ipv6. When I try to create a tunnel interface I get an ioctl: no such device." [7.6]: "Among other things ipv6 is the main reason I use dd-wrt, still no support with the 12982 build, it would be nice if it is supported. daemon.info radvd[792]: version 1.2 started daemon.err radvd[792]: can't create socket(AF_INET6): Address family not supported by protocol"

Issue relevant as of: 2010-01-17

Sources:
[7.1] http://www.litech.org/radvd/
[7.2]http://www.dd-wrt.com/phpBB2/viewtopic.php?t=58566&postdays=0&postorder=asc&start=20
[7.3]http://www.dd-wrt.com/phpBB2/viewtopic.php?t=58566&postdays=0&postorder=asc&start=152
[7.4]http://www.dd-wrt.com/phpBB2/viewtopic.php?t=58566&postdays=0&postorder=asc&start=159
[7.5]http://www.dd-wrt.com/phpBB2/viewtopic.php?t=58566&postdays=0&postorder=asc&start=198
[7.6]http://www.dd-wrt.com/phpBB2/viewtopic.php?t=58566&postdays=0&postorder=asc&start=85

Enabling the OpenVPN client bricks the device

The generation of OpenVPN certificates bricks the device due to NVRAM overflowing[8.1][8.2]. The NVRAM is 64KiB big (0x007f0000-0x00800000)[8.2][8.3], but is unfortunately limited to 32KiB as the CFE must be able to read from it[8.4].

Issue relevant as of: 2010-02-03

Update:

It could be that the ones who have bricked their device have had a lot of other things configured as well, hence NVRAM already having been close to full. One can from a shell with the help of "nvram show | grep size" see how much free NVRAM is available[8.5]. When it comes to server side configuration, using a KEY_SIZE of 1024 will need about 5200 bytes while a KEY_SIZE of 2048 will need about 6000 bytes of NVRAM[8.5]. No mention of client side configuration requirements.

Sources:
[8.1] http://www.dd-wrt.com/phpBB2/viewtopic.php?t=58566&postdays=0&postorder=asc&start=68
[8.2] http://www.dd-wrt.com/phpBB2/viewtopic.php?t=58566&postdays=0&postorder=asc&start=635
[8.3] http://svn.dd-wrt.com:8000/dd-wrt/ticket/986
[8.4] http://www.dd-wrt.com/phpBB2/viewtopic.php?t=58566&postdays=0&postorder=asc&start=636
[8.5] http://www.dd-wrt.com/wiki/index.php/VPN_(the_easy_way)_v24%2B#Enough_NVRAM_storage_space.3F

Some trouble-shooting tips:

If your router is NOT getting its WAN and DNS numbers properly from the cable Internet modem, then...

- Un-plug the cable Internet modem and router, and disable your computer's LAN or Wireless adapter.

- Re-plug the cable Internet modem, wait 1 full minute, then re-plug the DD-WRT router and wait 1 full minute.

- Then enable your computer's LAN or Wireless adapter.

- This should force the DHCP protocol to get the WAN, DNS, and local IPs from your ISP provider and give them to the modem, router, and computer LAN adapter correctly.

- Then login to the DD-WRT Mini build, and go to the Status > WAN page to check the IPs numbers are displayed.


If you lose Internet access, but used to have it with the old router, then this may a possible remedy:

- Some Cable Internet providers, like Comcast, do NOT like an unknown (or foreign) MAC address device on its network, and it may (or may not) cut off Internet access within 5-30 minutes. - If that happens, then you will have to Clone the MAC Address to be the identical MAC address as either:

(a) the local computer's MAC address or (b) the previous router's WAN MAC address (yes, you might have to login to your old router to find it's WAN MAC address or look on the bottom of the router).

- Think of your previous PC or router's MAC address as the "MAC password" to use the Cable Internet system (e.g. Comcast). - Seriously, write the nasty hexadecimal MAC address down and keep it safe for any future changes to your router.

- You may NOT have realized it, but Comcast does try to get and lock down the MAC address of the first router device at the time the ISP service is first installed and set-up.

- If you want to deal with your ISP, you may have to call them to see if they can reset your MAC address to get the new MAC on your new router (instead of using the old router's MAC address). - Sometimes, it's just easier and faster to Clone the MAC Address than to deal with the ISP customer rep (who may NOT understand what you're asking about), so you decide.


Sayling Now that you have your dd-wrt firmware installed successfully, you can flash any later build you have your heart set on - but check first it is for the WRT320N!

Hardware Modification

Ad blocker interference detected!


Wikia is a free-to-use site that makes money from advertising. We have a modified experience for viewers using ad blockers

Wikia is not accessible if you’ve made further modifications. Remove the custom ad blocker rule(s) and the page will load as expected.