OpenWrt Forum Archive

Topic: Netgear WGT634U bricked

The content of this topic has been archived between 10 Mar 2018 and 30 Mar 2018. There are no obvious gaps in this topic, but there may still be some posts missing at the end.

I have connected a serial-console cable to my WGT634U and the following was printed out on the console when I powered up my WGT634U.

CFE version 1.0.34 for BCM95365R (32bit,SP,LE)
Build Date: Tue Feb 24 03:21:41 CST 2004 (root@jackylinux)
Copyright (C) 2000,2001,2002 Broadcom Corporation.

Add MAC client version(DNI).
Initializing Arena.
Initializing Devices.
et0: chipattach: NVRAM_GET(et0phyaddr) not found
et0: chipattach error
et0: etc_attach failed
Could not attach bcm4710 ethernet: -2
CPU type 0x29007: 200MHz
Total memory: 0x2000000 bytes (32MB)

Total memory used by CFE:  0x81BB1280 - 0x82000000 (4517248)
Initialized Data:          0x81BB1280 - 0x81BB3E90 (11280)
BSS Area:                  0x81BB3E90 - 0x81BB45D0 (1856)
Local Heap:                0x81BB45D0 - 0x81FB45D0 (4194304)
Stack Area:                0x81FB45D0 - 0x81FB65D0 (8192)
Text (code) segment:       0x81FB65E0 - 0x81FFFFB0 (301520)
Boot area (physical):      0x01B70000 - 0x01BB0000
Relocation Factor:         I:E23B65E0 - D:01BB0280

CFE>

I tried this OpenWRT Doc for WGT634U, but couldn't figure out how to proceed. At this point, I am clueless on how to debrick this WGT634U and am hoping anyone here can help. Thanks.

The next steps are explained here

(Last edited by jochen on 4 May 2009, 09:58)

I tried your suggestion and it gave me an error message like this:

Device et0 is not found

So, I proceeded with setenv -p as shown here. After this, the booting process stopped as shown below:

CFE version 1.0.34 for BCM95365R (32bit,SP,LE)       
Build Date: Tue Feb 24 03:21:41 CST 2004 (root@jackylinux)
Copyright (C) 2000,2001,2002 Broadcom Corporation.        

Add MAC client version(DNI).
Initializing Arena.         
Initializing Devices.       
et0: Broadcom BCM47xx 10/100 Mbps Ethernet Controller
CPU type 0x29007: 200MHz                             
Total memory: 0x2000000 bytes (32MB)                 

Total memory used by CFE:  0x81BB1280 - 0x82000000 (4517248)
Initialized Data:          0x81BB1280 - 0x81BB3E90 (11280)  
BSS Area:                  0x81BB3E90 - 0x81BB45D0 (1856)                       
Local Heap:                0x81BB45D0 - 0x81FB45D0 (4194304)                    
Stack Area:                0x81FB45D0 - 0x81FB65D0 (8192)
Text (code) segment:       0x81FB65E0 - 0x81FFFFB0 (301520)
Boot area (physical):      0x01B70000 - 0x01BB0000
Relocation Factor:         I:E23B65E0 - D:01BB0280

configure vlans
*****************************************************************
*********************** VLAN Driver initial  ********************
*****************************************************************
Process LAN port(2-5) vlan Architecture...
SUCCESS: trying to create VLAN 0 for switch
SUCCESS: trying to add LAN port

Process WAN port(2-5) vlan Architecture...
SUCCESS: trying to create VLAN 0 for switch
SUCCESS: trying to add WAN port
SUCCESS: enable ports  success
Device eth0:  hwo device name specified.
CFE> /ash: addr: not found
Invalid command: "/ash: addr: not found"
Available commands: , boot, load, save, ping, arp, ifconfig, show, unsetenv, prp

*** command status = -1
CFE>

At this point, CFE seems to be frozen and I can't do anything. I tried 30/30/30 reset and that won't work.

Now, I am getting the following error messages on a serial-console when I powered up my WGT634U.

**********************************************
Process LAN port(2-5) vlan Architecture...
SUCCESS: trying to create VLAN 0 for switch
t, reboot, fprobe, envdev, test, set, loop, flash, memtest, f, e, d, u, autoboot, batch, go, boot, load, save, ping, arp, ifconfig, show, unsetenv, printenv, setenv, help

*** command status = -1
CFE>  found
Invalid command: "found"s: copydisk, setup, reset, reboot, fprobe, envdev, test, set, loop, flash, memtest, f, e, d, u, autoboot, batch, go, boot, load, save, ping, arp, ifconfig, show, unsetenv, printenv, setenv, help

*** command status = -1
CFE>  /bin/ash: CFE: not found
Invalid command: "/bin/ash: CFE: not

Typing anything doesn't seem to echo the characters typed. I certainly would appreciate if anyone can help.

Here are the defaults from a working WGT:

BOOT_CONSOLE    uart1
boardtype       bcm95365r
et0mdcport      0
et0phyaddr      254
STARTUP         ifconfig eth0 -addr=192.168.1.1 -mask=255.255.255.0;boot -elf flash0.os:
kernel_args     console=ttyS1,115200 root=/dev/ram0 init=/linuxrc rw syst_size=8M
configvlan      0x1
et0macaddr      00-0f-b5-0b-98-16
et1macaddr      00-0f-b5-0b-98-17
CFE_VERSION     1.0.34
CFE_BOARDNAME   BCM95365R
CFE_MEMORYSIZE  32

Example syntax:

CFE> setenv -p STARTUP "ifconfig eth0 -addr=192.168.1.1 -mask=255.255.255.0;boot -elf flash0.os:"
CFE> setenv -p configvlan 0x1

After verifying everything with "printenv" use TFTP to download a new image (less than 4MB).

CFE> flash -noheader 192.168.1.3:openwrt-wgt634u-2.6-squashfs.bin flash0.os

(Last edited by KillaB on 1 Jun 2009, 22:04)

Having since my last flash (of more than 4 megabytes in two passes) not been able to get past the CFE> prompt, I tried the settings in post 7, planning to flash the stock K809 image from Feb 15.  I checked the settings with printenv, and rebooted.  Since then the router continually reboots, every second or so, giving the following output.  Power cycling has no effect. Ctrl-C has no effect and the reset button has no effect (it keeps rebooting every second or so).  Am I left with nothing to do but fit a jtag connection?

CFE version 1.0.34 for BCM95365R (32bit,SP,LE)
Build Date: Tue Feb 24 03:21:41 CST 2004 (root@jackylinux)
Copyright (C) 2000,2001,2002 Broadcom Corporation.

Add MAC client version(DNI).
Initializing Arena.
Initializing Devices.
et0: chipattach: NVRAM_GET(et0phyaddr) not found
et0: chipattach error
et0: etc_attach failed
Could not attach bcm4710 ethernet: -2
CPU type 0x29007: 200MHz
Total memory: 0x2000000 bytes (32MB)

Total memory used by CFE:  0x81BB1280 - 0x82000000 (4517248)
Initialized Data:          0x81BB1280 - 0x81BB3E90 (11280)
BSS Area:                  0x81BB3E90 - 0x81BB45D0 (1856)
Local Heap:                0x81BB45D0 - 0x81FB45D0 (4194304)
Stack Area:                0x81FB45D0 - 0x81FB65D0 (8192)
Text (code) segment:       0x81FB65E0 - 0x81FFFFB0 (301520)
Boot area (physical):      0x01B70000 - 0x01BB0000
Relocation Factor:         I:E23B65E0 - D:01BB0280

configure vlans
*****************************************************************
*********************** VLAN Driver initial  ********************
*****************************************************************
Process LAN port(2-5) vlan Architecture...
**Exception 8: EPC=00000028, Cause=00000008, VAddr=00000028
                RA=81FE0B80, PRID=00029007

        0  ($00) = 00000000     AT ($01) = A0000000
        v0 ($02) = 00000028     v1 ($03) = 00000000
        a0 ($04) = 81BB1EC0     a1 ($05) = 0000001E
        a2 ($06) = 00000010     a3 ($07) = 00003401
        t0 ($08) = 00000034     t1 ($09) = 81FE0AB0
        t2 ($10) = 0000000C     t3 ($11) = 00000001
        t4 ($12) = 81FC66D4     t5 ($13) = 00000000
        t6 ($14) = 00000000     t7 ($15) = 00000000
        s0 ($16) = 81BB5FF8     s1 ($17) = 00000034
        s2 ($18) = 00000002     s3 ($19) = 0000000A
        s4 ($20) = 81FE0AB0     s5 ($21) = 81FC21A8
        s6 ($22) = FFFE0428     s7 ($23) = 81FB65E0
        t8 ($24) = 02000000     t9 ($25) = E23B65E0
        k0 ($26) = 00000000     k1 ($27) = 81FB63A3
        gp ($28) = 81BB9280     sp ($29) = 81FB6450
        fp ($30) = 01BB0280     ra ($31) = 81FE0B80

I have exactly the same problem -- my WGT634U keeps rebooting all the time...

What can we do to recover from this problem?

Keep hitting CTRL-C continuously, immediately after applying power.  You'll get in.

(Last edited by KillaB on 2 Jun 2009, 16:10)

KillaB wrote:

Keep hitting CTRL-C continuously, immediately after applying power.  You'll get in.

That does not work -- I don't get in...

I lurked around and did not find any information about JTAG on a WGT634U that can be used to recover the unit. However, from the snapshot on the OldWiki of OpenWRTDocs repository, there seems to be some sets of un-populated pinholes (on lower left-hand corner and beneath the miniPCI WiFi port) resemble a JTAG port. Can anyone confirm if this is a JTAG port and what is its PINs layout?

lizby wrote:
configure vlans
*****************************************************************
*********************** VLAN Driver initial  ********************
*****************************************************************
Process LAN port(2-5) vlan Architecture...
**Exception 8: EPC=00000028, Cause=00000008, VAddr=00000028
                RA=81FE0B80, PRID=00029007

        0  ($00) = 00000000     AT ($01) = A0000000
        v0 ($02) = 00000028     v1 ($03) = 00000000
        a0 ($04) = 81BB1EC0     a1 ($05) = 0000001E
        a2 ($06) = 00000010     a3 ($07) = 00003401
        t0 ($08) = 00000034     t1 ($09) = 81FE0AB0
        t2 ($10) = 0000000C     t3 ($11) = 00000001
        t4 ($12) = 81FC66D4     t5 ($13) = 00000000
        t6 ($14) = 00000000     t7 ($15) = 00000000
        s0 ($16) = 81BB5FF8     s1 ($17) = 00000034
        s2 ($18) = 00000002     s3 ($19) = 0000000A
        s4 ($20) = 81FE0AB0     s5 ($21) = 81FC21A8
        s6 ($22) = FFFE0428     s7 ($23) = 81FB65E0
        t8 ($24) = 02000000     t9 ($25) = E23B65E0
        k0 ($26) = 00000000     k1 ($27) = 81FB63A3
        gp ($28) = 81BB9280     sp ($29) = 81FB6450
        fp ($30) = 01BB0280     ra ($31) = 81FE0B80

I remember having a similar error - since I wasn't able to fix it with any openwrt-image I tried (7.09,8.09,etc.), I stumbled across this site
http://people.zoy.org/~walken/wgt634u/HOWTO.html

I followed the instructions, reinstalled Openwrt afterwards and the exception errors were gone...

(Last edited by sam0815 on 2 Jun 2010, 10:10)

I've tried getting a CFE prompt for hours now (Hitting CTRL-C like insane, plugin in power, ...) -- but it seems to be impossible.

The router keeps rebooting continously...

Is there some trick? What kind of terminal program do you use? I use minicom.

If I could get an CFE-prompt I could reflash the unit. BTW I really don't know what  caused that error!?!?!?

Conan wrote:

Is there some trick? What kind of terminal program do you use? I use minicom.

Have you verified your serial cable on another device?  As long as your Tx pin is connected properly, I don't know what the problem could be.
I use HyperTerminal in XP.  One hand hitting CTRL-C while the other hand inserts power.

That was the way it used to work before the router started rebooting itself all the time.

Since it is rebooting all the time, I can't get a CFE prompt anymore.

As with my WGT634U, if I connected it through a USB/serial-console cable (used to work), I get all garbage characters using either screen or minicom (both configure to 115200 8N1). If I connect my WGT634U serial-port to the serial port of my FON2100, I would get the following if I keep ressing the ENTER key:

/bin/ash: Available: not found
Invalid command: "/bin/ash: Available: not f
CFE> /bin/ash: Available: not found
Invalid command: "/bin/ash: Available: not found"
AvailableE> # /bin/ash: CFE: not found
Invalid command: "# /bin/ash: CFE: not found"
Available commands: copydisk, s/bin/ash: Available: not found
Invalid command: "/bin/ash: Available: not fou/bin/ash: Available: not found
Invalid command: "/bin/ash: Available: not found"
Available commands: copydisk, setup, reset, reboot, fprobe, envdev, test, set, loop, flash, memtest, f, e, d, u, autoboot, batcgo, boot, load, save, ping, arp, ifconfig, show, unsetenv, printenv, setenv, help

Trying to type anything is impossible, i.e. no response.

More update on my WGT634U. After playing a  bit, I am getting the following messages on the serial console of my FON2100 device:

lan Architecture...
SUCCESS: trying to create VLAN 0 for switch
y to get new two.....
MAC_Client enter
gpio output successLED ctl start

Any clue on how to fix this?

I had this same problem after flashing r15577, making some package additions using opkg, and rebooting.  I used the values provided by KillaB above, except for the macaddrs which I reset using the values on my device's case.  Also, remember to quote the long lines with embedded spaces (STARTUP and kernel_args).  After setenv -p'ing them, and then checking twice, a CFE reboot seemed to work.  Whatever is causing that needs fixing though! ;-)

By just pressing CTRL+C I could not get a CFE-Prompt anymore.

I had to shorten Pins 26 and 27 of the flash-chip (That's some adress-lines) and press CTRL+C at the same time in minicom. This will cause the CFE-prompt to appear again.

Now I can try to flash a new image...

Conan wrote:

By just pressing CTRL+C I could not get a CFE-Prompt anymore.

I had to shorten Pins 26 and 27 of the flash-chip (That's some adress-lines) and press CTRL+C at the same time in minicom. This will cause the CFE-prompt to appear again.

Now I can try to flash a new image...

I have the same issue after flashing 8.09.1; after following this procedure I was able to get the CFE> prompt. However, from the printenv, my NVRAM seems to be corrupted with some "non-printable" character; how can I clear it ?

my printenv looks like this
CFE> printenv
Variable Name        Value
-------------------- --------------------------------------------------
BOOT_CONSOLE         uart1
41541              ifconfionfionfiauto; bo; bo; boflash0.oh
boardtype            bcm95365r
et0macaddr           00-00-00-53-65-10
et1macaddr           00-00-00-53-65-11
CFE_VERSION          1.0.34
CFE_BOARDNAME        BCM95365R
CFE_MEMORYSIZE       32
*** command status = 0
CFE>

Conan wrote:

I had to shorten Pins 26 and 27 of the flash-chip (That's some adress-lines) and press CTRL+C at the same time in minicom.

Is this the intel TE28F640 flash chip? If so, that definiely some address lines!

@lizby
your problem seems to be some "CFE NVRAM" missing settings
look:

et0: chipattach: NVRAM_GET(et0phyaddr) not found
et0: chipattach error
et0: etc_attach failed
Could not attach bcm4710 ethernet: -2

so, as suggested by KillaB, access the CFE prompt and type:

> setenv -p et0phyaddr 254

this will add the et0phyaddr to the CFE NVRAM (-p is the option to write the var into the flash)
After this, reboot and check what happens.
the hint is to have a "printenv" output similar to the one suggested  by KillaB
clearly you can change both of the mac addresses (et0macaddr and et1macaddr)






@zilla1000
if you refer to the following line:

41541              ifconfionfionfiauto; bo; bo; boflash0.oh

using:

> unsetenv 41541             

will not works.  Just tested it, coping&pasting the same "string" in your post and it's not working. Anyway, it shouldn't be a problem, having such variable in CFE NVRAM.

Look, if you're brave enought, in CFE help, there's a "setup" command.

CFE> setup

Setup system configuration
WARNING: Invalid data could render system inoperable.
Press Enter for Platform name to Exit.
Enter Platform name:

        bcm95365r - Broadcom BCM95365R Sentry5 VR/WAP/VPN GW Platform
        bcm95365p - Broadcom BCM95365P Sentry5 PCI NIC Platform
        bcm95365k - Broadcom BCM95365K Sentry5 PCI Platform
        bu5365fpga - Broadcom BCM95365 53XXX Sentry5 FPGA Platform
        bcm95380_rr - Broadcom BCM95380 RoboRouter/Sentry5 Dev Platform
        bcm94702cpci - Broadcom BCM94702 CPCI Host Controller
        bcm94710ap - Broadcom BCM94710AP WAP/Router
        bcm94710 - Broadcom BCM94710D Dev Platform

Press Enter to exit
Enter platform string:
Configuration unchanged.
*** command status = 1

I've not tested it (my device is fine), but you could try it, choosing:

bcm95365r - Broadcom BCM95365R Sentry5 VR/WAP/VPN GW Platform

I might be wrong, but that command should fill in the CFE NVRAM with platform "default" values

After this, remember to change "default" mac address (both of them) and add all the missing env VARs, as posted by KillaB.





@all
You hardly need a JTAG if you have bootloader prompt access.
You usually need the JTAG when you screw up your bootloader partition.

Also, for the CTRL-C problem. I think it can be tricky sometimes, but if you see CFE output you should be able to access the CFE prompt with CTRL-C.
I'm using a pl2303 USB/Serial cable under XP using puttytray.


On a side note...i don't like short-circuit those flash chips smile it's VERY dungerous in my opinion.

(Last edited by mrmr on 7 Jun 2009, 10:56)

Thank mrmr,

I tried the unsetenv with all the possible way of sending non-printable character, it did not work either.

I also tried the setenv, it did not make any difference it stay in the continuous reset as in lizby post.


CFE> setup

Setup system configuration
WARNING: Invalid data could render system inoperable.
Press Enter for Platform name to Exit.
Enter Platform name: 

        bcm95365r - Broadcom BCM95365R Sentry5 VR/WAP/VPN GW Platform
        bcm95365p - Broadcom BCM95365P Sentry5 PCI NIC Platform
        bcm95365k - Broadcom BCM95365K Sentry5 PCI Platform
        bu5365fpga - Broadcom BCM95365 53XXX Sentry5 FPGA Platform
        bcm95380_rr - Broadcom BCM95380 RoboRouter/Sentry5 Dev Platform
        bcm94702cpci - Broadcom BCM94702 CPCI Host Controller
        bcm94710ap - Broadcom BCM94710AP WAP/Router
        bcm94710 - Broadcom BCM94710D Dev Platform

Press Enter to exit
Enter platform string:bcm95365r
Using platform[bcm95365r]
IP Interface Configuration type [DHCP/Static/None]:DHCP 
OS Boot type[FLASH/TFTP]:FLASH
Enter CFE Binary Partition name [BIPO]:
Configuring STARTUP for DHCP IP Configuration, FLASH OS Boot
Filesystem Type[RAMDISK/NFS/FLASH/Other]:FLASH
Enter Linux FLASH Device name [/dev/fl/0]:
Configuring Kernel for FLASH Root Filesystem Configuration
*** command status = 0
CFE> printenv
Variable Name        Value
-------------------- --------------------------------------------------
BOOT_CONSOLE         uart1
41541              ifconfionfionfiauto; bo; bo; boflash0.oh
boardtype            bcm95365r
et0macaddr           00-00-00-53-65-10
et1macaddr           00-00-00-53-65-11
CFE_VERSION          1.0.34
CFE_BOARDNAME        BCM95365R
CFE_MEMORYSIZE       32
STARTUP              ifconfig eth0 -auto;boot -elf -fs=raw doc0:
kernel_args          console=ttyS1,115200 root= rw noinitrd
*** command status = 0
CFE> reboot


CFE version 1.0.34 for BCM95365R (32bit,SP,LE)
Build Date: Tue Feb 24 03:21:41 CST 2004 (root@jackylinux)
Copyright (C) 2000,2001,2002 Broadcom Corporation.

Add MAC client version(DNI).
Initializing Arena.
Initializing Devices.
et0: chipattach: NVRAM_GET(et0mdcport) not found
et0: chipattach error
et0: etc_attach failed
Could not attach bcm4710 ethernet: -2
CPU type 0x29007: 200MHz
Total memory: 0x2000000 bytes (32MB)

Total memory used by CFE:  0x81BB1280 - 0x82000000 (4517248)
Initialized Data:          0x81BB1280 - 0x81BB3E90 (11280)
BSS Area:                  0x81BB3E90 - 0x81BB45D0 (1856)
Local Heap:                0x81BB45D0 - 0x81FB45D0 (4194304)
Stack Area:                0x81FB45D0 - 0x81FB65D0 (8192)
Text (code) segment:       0x81FB65E0 - 0x81FFFFB0 (301520)
Boot area (physical):      0x01B70000 - 0x01BB0000
Relocation Factor:         I:E23B65E0 - D:01BB0280

configure vlans
*****************************************************************
*********************** VLAN Driver initial  ********************
*****************************************************************
Process LAN port(2-5) vlan Architecture...
**Exception 8: EPC=00000028, Cause=00000008, VAddr=00000028
                RA=81FE0B80, PRID=00029007

        0  ($00) = 00000000     AT ($01) = A0000000
        v0 ($02) = 00000028     v1 ($03) = 00000000
        a0 ($04) = 81BB1EC0     a1 ($05) = 0000001E
        a2 ($06) = 00000010     a3 ($07) = 00003401
        t0 ($08) = 00000034     t1 ($09) = 81FE0AB0
        t2 ($10) = 0000000C     t3 ($11) = 00000001
        t4 ($12) = 81FC66D4     t5 ($13) = 00000000
        t6 ($14) = 00000000     t7 ($15) = 00000000
        s0 ($16) = 81BB5FF8     s1 ($17) = 00000034
        s2 ($18) = 00000002     s3 ($19) = 0000000A
        s4 ($20) = 81FE0AB0     s5 ($21) = 81FC21A8
        s6 ($22) = 00000001     s7 ($23) = 81FB65E0
        t8 ($24) = 02000000     t9 ($25) = E23B65E0
        k0 ($26) = 00000000     k1 ($27) = 81FB63A3
        gp ($28) = 81BB9280     sp ($29) = 81FB6450
        fp ($30) = 01BB0280     ra ($31) = 81FE0B80

The only way that I can get the CFE> prompt is via CTRL-C with short flash 26-27 pin. That seems to reset the NVRAM, the NVRAM is the same as before I ran the setenv.

CFE> ^C
CFE> ^C
CFE> ^C
CFE> ^C
CFE> 
CFE> printenv
Variable Name        Value
-------------------- --------------------------------------------------
BOOT_CONSOLE         uart1
41541              ifconfionfionfiauto; bo; bo; boflash0.oh
boardtype            bcm95365r
et0macaddr           00-00-00-53-65-10
et1macaddr           00-00-00-53-65-11
CFE_VERSION          1.0.34
CFE_BOARDNAME        BCM95365R
CFE_MEMORYSIZE       32
*** command status = 0
CFE>

From DD-wrt forum (http://www.dd-wrt.com/phpBB2/viewtopic. … mp;start=0), it does not seems to have a jtag support for WGT634U.
The ethernet is not working, due to lack of the setup in the NVRAM, and I juat can not update the NVRAM.
If this is not cause by bad NVRAM value, which means the CFE code itself is corrupted ? Any suggestions ?

(Last edited by zilla1000 on 7 Jun 2009, 16:34)

@zilla1000
When your CFE NVRAM "reset" it still has "default" macaddress

et0macaddr           00-00-00-53-65-10
et1macaddr           00-00-00-53-65-11

start changing those with:

> setenv -p et0macaddr 00-00-de-ad-ca-fe
> setenv -p et1macaddr 00-00-de-ad-ca-ff

after this, you need to add missing CFE NVRAM values.
The post from KillaB should help you...most likely you'll need:

> setenv -p et0mdcport 0
> setenv -p et0phyaddr 254
> setenv -p configvlan 0x1
> setenv -p STARTUP "ifconfig eth0 -addr=192.168.1.1 -mask=255.255.255.0;boot -elf flash0.os:"
> setenv -p kernel_args "console=ttyS1,115200 root=/dev/ram0 init=/linuxrc rw syst_size=8M"

this should do...and as already said, don't mind your "strange" var there.
You said:

I also tried the setenv, it did not make any difference it stay in the continuous reset as in lizby post.

Are you sure you added the "-p" option to setenv? the -p option write changes to the flash, while using setenv just set up the value temporarily.
Try those for a start...if they're not working, probably your flash is borked (too many writes?) or your CFE is screwed. Now, as stated onto the wiki, there's no JTAG port on the wgt (or so it seems), so we should find another way to reflash the CFE partition, but sadly i've no idea how.