Finally got around to test the write-ability of the DSi's new tiny Wifi-FLASH chips. I had some boards with those chips laying around for a year, but didn't test them yet, parts because overwriting the first some bytes could potentially brick the console (what I have done new is wiring one of the FLASH chips from a broken wifi board to my PC, which can't brick anything).
Results are: A 128Kbyte memory space, with only 4Kbyte actual writeable memory (kinda weird design, and not really needed; the more important part for NDS compatibility is the 24bit address bus).
Code: Select all
DSi "5A32" chip (32Kit aka 4Kbyte)
Early DSi DWM-W015 boards did have 128Kbyte FLASH, but later boards have custum
4Kbyte FLASH chips (these 4K chips are found on later DSi DWM-W015 boards, and
DSi DWM-W024 boards, and 3DS DWM-W028 boards). The chips are having a 24bit
address bus (needed for NDS compatibility), and, a weird non-writeable gap
within a 128Kbyte memory are:
000000h..0002FFh Writeable only if /WP=HIGH (otherwise writes are ignored)
000300h..01F2FFh Not writeable (FFh-filled, writes are ignored)
01F300h..01FFFFh Writeable
020000h and up Mirrors of 0..01FFFFh (same read/write-ability as above)
There are several part numbers: "5A32" (DSi), "5K32" (3DS), "32B, 3XH" (3DS),
and "26FV032T" (DSi), that chips are probably all the same size & functionally
same; most of those 4Kbyte chips have tiny packages (except "26FV032T" which
comes in classic large package).
Pin-Outs (Large Package, in NDS, and early DSi boards)
1 D Serial Data In (latched at rising clock edge) _________
2 C Serial Clock (max 25MHz) /|o |
3 /RES Reset 1 -| | |- 8
4 /S Chip Select (instructions start at falling edge) 2 -| | |- 7
5 /W Write Protect (makes first 256 pages read-only) 3 -| |_________|- 6
6 VCC Supply (2.7V..3.6V typ) (4V max) (DS:VDD3.3) 4 -|/ |- 5
7 VSS Ground |___________|
8 Q Serial Data Out (changes at falling clock edge)
Pin-Outs (Tiny Package, in newer DSi boards, and 3DS)
1 /S Chip Select (instructions start at falling edge) ___________
2 Q Serial Data Out (changes at falling clock edge) 1 -| o |- 8
3 /W Write Protect (makes first pages read-only) 2 -| |- 7
4 VSS Ground 3 -| |- 6
5 D Serial Data In (latched at rising clock edge) 4 -|___________|- 5
6 C Serial Clock
7 /RES Reset
8 VCC Supply (2.7V..3.6V typ) (DSi: VDD33)
Next, I wanted to test the chip ID for the 26FV032T flash chip on a Hon Hai J27H020 board (which should be equivalent to Mitsumi DWM-W024 boards). But, that didn't worked out : /
When I got that J27H020 board, I had immediately desoldered the shielding plate (and smeared some solder on the antenna connector). I have replaced the antenna connector last week, and put the shielding plate back on the board... but it doesn't work... the console is booting up okay, but it can't find any access points (neither wirh my own firmware/wifiboot code, nor with Nintendo's original firmware, System Settings, and Browser).
Maybe I had damaged the board when removing the shield plate (it was soldered all way round, instead of just to a handful of solder points). Hmmm, or maybe the Hon Hai J27H020 boards require different antenna's?
Would be interesting if other people had similar problems when swapping Mitsumi boards against Hon Hai boards (one known problem is, of course, that DWM-W024 and J27H020 do both require firmware v1.4 or newer; the older firmwares support DWM-W015 only).
Anyways, while searching for J27H020 info, I came across FCC ID webpages, with some interesting info on the wifi hardware & pinouts:
Code: Select all
Wifi FCC ID
The wifi hardware has been registered by Mitsume, Hon Hai, and Nintendo
themselves:
https://fccid.io/BKE - Nintendo
https://fccid.io/EW4 - Mitsumi
https://fccid.io/MCL - Hon Hai (Foxconn)
The above webpages include some unrelated stuff (like bluetooth), and some
duplicate entries. The wifi/console related entries are:
https://fccid.io/EW4-AGBWA GBA ;\GBA wireless adaptor
https://fccid.io/EW4-OXYWA GBA-Micro ;/(not wifi/wlan compatible)
https://fccid.io/BKENTR001 NDS (non-remove-able board)
https://fccid.io/BKEUSG-001 NDS-Lite (old remove-able board, with MM3155)
https://fccid.io/EW4DWMW006 NDS-Lite (new remove-able board, with MM3218)
https://fccid.io/BKERVL036 Wii
https://fccid.io/EW4DWMW004 Wii (mitsumi) (also W016, and maybe W014 ?)
https://fccid.io/MCLJ27H010 Wii (foxconn) (also H003 ?)
https://fccid.io/EW4DWMW015 DSi (old wifi board, mitsumi)
https://fccid.io/EW4DWMW024 DSi (new wifi board, mitsumi)
https://fccid.io/MCLJ27H020 DSi (new wifi board, foxconn)
https://fccid.io/EW4DWMW028 3DS (mitsumi)
https://fccid.io/MCLJ27H023 3DS (foxconn)
https://fccid.io/MCLJ27H02301 2DS (foxconn)
https://fccid.io/BKERED001 New3DS (on mainboard)
The pages include test reports, photos (including some prototypes), and most
interestingly, the Mitsumi "Label location" pages usually include pinout &
signal names for the wifi board.
DSi Wifi board pinout
https://fccid.io/EW4DWMW024/Label/Label-format-and-location-1137926.pdf
https://fccid.io/EW4DWMW015/Label/Label-Location-1031953.pdf
1 MX_SD_CLK 2 GND
3 GND 4 VDD_18
5 SDIO_DATA0 6 VDD_18
7 SDIO_DATA3 8 GND
9 SDIO_DATA1 10 VDD_33
11 SDIO_CMD 12 VDD_33
13 SDIO_DATA2 14 GND
15 JTAG_TDO 16 ATH_TX_H
17 JTAG_TMS 18 SYS_RST_L
19 GND 20 JTAG_TDI
21 CLK32k 22 JTAG_TCK
23 GND 24 JTAG_TRST_L
25 NC(VDD28_TP) 26 SEL_ATH_L
27 SPI_CS2 28 W_B
29 BBP_SLEEP 30 SPI_CLK
31 RF_SLEEP 32 SPI_DO MISO
33 RF_SCS 34 SPI_DI MOSI
35 BPP_SCS 36 CCA ;typo: should be BBP (not BPP)
37 BB_RF_SDO 38 RXPE
39 BB_RF_SDI 40 TRDATA
41 BB_RF_SCLK 42 GND
43 NC(VDD18_TP) 44 TRCLK
45 GND 46 TRRDY
47 MCLK 48 TXPE
49 GND 50 RESET
DS-Lite Wifi board DWM-W006 pinout
https://fccid.io/EW4DWMW006/Label/ID-label-format-and-location-706511.pdf
1 GND 16 +3.3V
2 TXPE 17 GND
3 RXPE 18 RF_SCS
4 CCA 19 BBP_SLEEP
5 TRRDY 20 BBP_SCS
6 GND 21 RF_SLEEP
7 TRCLK 22 RESET
8 TRDATA 23 GND
9 GND 24 SPI_CLK
10 BB_RF_SDO 25 SPI_DI
11 BB_RF_SDI 26 SPI_DO
12 BB_RF_SCLK 27 W_B
13 GND 28 SIP_CS2 ;typo: should be SPI (not SIP)
14 MCLK 29 LD
15 GND 30 GND
Wii Wifi board
https://fccid.io/EW4DWMW004/Label/ID-Label-670426.pdf
1 GND 12 VDD3.3
2 SDIO_DATA_2 13 GND
3 SDIO_DATA_1 14 GPIO_0
4 GND 15 GND
5 SDIO_CLK 16 SDIO_DATA_3
6 GND 17 SDIO_DATA_0
7 GPIO_1 18 GND
8 GND 19 SDIO_CMD
9 N.C.(VDD1.8) 20 GND
10 N.C.(VDD1.8) 21 ANT_A (MAIN)
11 VDD3.3 22 ANT_B (AUX)
3DS Wifi Board DWM-W028
https://fccid.io/EW4DWMW028/Label/ID-label-location-1272988.pdf
1 MCLK 2 RF_CSRF
3 GND 4 BB_CSBB
5 RXPE 6 BB_RF_SDIN
7 TXPE 8 BB_RF_SDOUT
9 CCA 10 BB_RF_SCK
11 TRDATA 12 GND
13 TRCLK 14 BBP_SLEEP_L
15 TRRDY 16 RF_SLEEP_L
17 TRST_L 18 SEL_ATH_L
19 GND 20 GND
21 SDIO_DATA_0 22 JTAG_TDO
23 SDIO_DATA_1 24 JTAG_TMS
25 SDIO_DATA_2 26 JTAG_TDI
27 SDIO_DATA_3 28 JTAG_TCK
29 GND 30 SPI_CS2
31 SDIO_CLK 32 W_B
33 GND 34 SPI_CLK
35 SDIO_CMD 36 SPI_DO
37 UART_TXD 38 SPI_DI
39 UART_RXD 40 SYS_RST_L
41 GND 42 ATH_TX_H
43 CLK32k 44 RESET
45 GND 46 GND
47 VDD_18 48 VDD_33
49 VDD_18 50 VDD_33
Functionally same as DSi, but not pin-compatible, and with two UART pins
(instead of the NC pins).
The missing part are pinouts for original NDS-Wifi-boards. However, the DS-Lite board pinout could be used to rev-engineer the MM3155-chip pinout, and the MM3155-chip pinout could be then used to rev-engineer the NDS-Wifi-board pinout (not that that would be too useful for any practical purposes, but it's interesting to know what each pin is good for, and sometimes it does actually help to better understand the hardware capabilities).