Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revisionBoth sides next revision
inbox:toh:sagem:f_st3864op [2024/02/20 16:39] – [Network] rikka0w0inbox:toh:sagem:f_st3864op [2024/10/19 06:51] – [Photos] rikka0w0
Line 176: Line 176:
   * [[https://au.mouser.com/datasheet/2/472/Si32260_61-2507288.pdf|SI32260-C-FM1]]   * [[https://au.mouser.com/datasheet/2/472/Si32260_61-2507288.pdf|SI32260-C-FM1]]
   * [[https://www.digikey.co.uk/en/products/detail/broadcom-limited/BCM6302KMLG/6147288|BCM6302]]   * [[https://www.digikey.co.uk/en/products/detail/broadcom-limited/BCM6302KMLG/6147288|BCM6302]]
 +
 +CPU Pinout:
 +[[:docs:techref:hardware:soc:soc.broadcom.bcm63xx#bcm63168_pinout]]
 +
 +==== Network ====
 +This router has 2 switches! The BCM63168D0 SOC has 8 internet interfaces, 3xFE, 1xGE, and 4xRGMII, all from a built-in switch. In this router, the GE port (id=3) is used for WAN RJ45 connection, and the first RGMII (id=4) goes to an external switch (BCM53125?) which then powers all accessible LAN ports. **Why didn't they just simply connect 4 PHYs at the RGMIIs to make 4xGE LAN ports?**
  
 Note: Note:
-  * CFE reports the external switch (BCM53124SKMMLG) as [[https://www.mouser.com/datasheet/2/678/broadcom_limited_avgo-s-a0007199287-1-1747746.pdf|53125]] , but the boot log of the stock firmware shows that it forces to use a 53115 driver. +  * CFE reports the external switch (BCM53124SKMMLG) as [[https://www.mouser.com/datasheet/2/678/broadcom_limited_avgo-s-a0007199287-1-1747746.pdf|53125]], but the boot log of the stock firmware shows that it forces to use a 53115 driver.
-===== Flash Layout =====+
  
 +==== Serial ====
 +-> [[docs:techref:hardware:port.serial]] general information about the serial port, serial port cable, etc.
 +
 +There is an unsoldered 4-pin header (J708) near the power jack, which provides an interactive console. You can interrupt the boot process and enter the CFE bootloader console by pressing any key repeatedly, or wait for it boots and then login to the management console using the following credentials:
 +
 +^ Credential of an Australian Optus OEM F@ST3864OP ||
 +^ user | admin |
 +^ password | 0ptU%1M5 |
 +
 +If the above does not work, then try the other keys:
 +
 +https://github.com/mattimustang/optus-sagemcom-fast-3864-hacks
 +
 +The management console offers a very limited set of commands, the sh command will drop you to a BusyBox Linux shell.
 +
 +^ Serial parameters for Sagem F@ST3864OP ||
 +^ Baudrate | 115200 |
 +^ Setup| 8N1 |
 +^ Voltage | 3.3V TTL|
 +
 +==== LEDs and buttons ====
 +There are three types of LEDs on this device:
 +  - Connected to a serial LED driver which then drives up to 8 LEDs via a 74HC164D.
 +  - Connected to a SoC pin and controlled by a hardware LED control register.
 +  - Connected to a SoC pin and controlled by Linux via gpio-leds.
 +
 +LED and Button connections:
 +  * WAN Port: Yellow(460+6, gpio38), Green(460+7, gpio39)
 +  * WLAN Led (D12): (460+4, gpio36) Logic XOR (460+5, gpio37), this is weird!
 +  * Internet Led (D17): Green(480+8, gpio8), Red(74HC164D@Q2)
 +  * DSL Bonding Led (D17): Green(480+9, gpio9)
 +  * Power Led (D15): Green(480+20, gpio20), Red(480+15, gpio15)
 +  * DSL (D7): Green(74HC164D@Q3)
 +  * FXS (D11, Foreign Exchange Station, the phone ports, not to be confused with the xDSL port): Green(74HC164D@Q4), Red(74HC164D@Q5)
 +  * WPS Led (D13): Green(74HC164D@Q0), Red(74HC164D@Q1)
 +  * Reset button (SW5): (460+0, gpio32)
 +  * WPS button (SW3): (460+1, gpio33)
 +  * WLAN button (SW2): (460+2, gpio34)
 +  * Some LEDs are driven by 74HC164D:
 +  * Clock (CP) = gpio0 (/sys/class/gpio/gpio480), serial_led_clk
 +  * DSA (Data input) = gpio1 (/sys/class/gpio/gpio481), serial_led_data
 +  * DSB (AND with DSA), MR(Output Async Reset) are pulled high.
 +
 +===== Flash Layout =====
 +Stock firmware dump:
 +https://github.com/rikka0w0/fast3864op-hacks
 ==== Stock ==== ==== Stock ====
 From OEM Bootlog: From OEM Bootlog:
Line 197: Line 248:
 ^  F@ST3864OP Flash Layout                                                                                                                                                                                                                                                               ||||||| ^  F@ST3864OP Flash Layout                                                                                                                                                                                                                                                               |||||||
 ^ Hardware                      128MiB NAND W29N01HVSINA                                                                                                                                                                                                                                |||||| ^ Hardware                      128MiB NAND W29N01HVSINA                                                                                                                                                                                                                                ||||||
-^ Stock Label                  |  **//nvram//**              |  **//rootfs//** jffs2 filesystem                                                                |  **//rootfs_update//** empty jffs2  |  **//hidden1//**              **//data//**             |  **//hidden2//**             |+^ Stock Label                  |  **//nvram//**              |  **//rootfs//** jffs2 filesystem                                                                |  **//rootfs_update//** empty jffs2  |  **//hidden1//**              **//data//** jffs2 filesystem      |  **//hidden2//**             |
 ^ Stock mtd device name        |  mtd3                        mtd0 (mtd4)                                                                                    |  mtd1 (mtd5)                        |  -                            mtd2                      -                           | ^ Stock mtd device name        |  mtd3                        mtd0 (mtd4)                                                                                    |  mtd1 (mtd5)                        |  -                            mtd2                      -                           |
 | Start                        |  0x0000000                  |  0x0020000                                                                                      |  0x3D80000                          |  0x7AE0000                   | 0x7B00000                 | 0x7F00000                    | | Start                        |  0x0000000                  |  0x0020000                                                                                      |  0x3D80000                          |  0x7AE0000                   | 0x7B00000                 | 0x7F00000                    |
Line 229: Line 280:
 </code> </code>
 ==== Photos ==== ==== Photos ====
-/* =====>>>>> Standard size for photosadd ?400 to the medialink                                */ +=== PCB === 
-/* When uploading photos, **name them** intelligently. Nobody knows what 20100930_000602.jpg is! */ +{{:media:sagem:sagem_f_st3864_front_pcb.jpg?400|}} 
-/* e.g. {{:media:yourbrand:yourbrand_yourmodel_front.jpg?400|}}                                  */ +{{:media:sagem:sagem_f_st3864_back_pcb.jpg?400|}}
-/* Thanks, your wiki administration - Oct. 2015 */ +
- +
-**Insert photo of front of the casing** +
- +
-**Insert photo of back of the casing** +
- +
-**Insert photo of backside label** +
- +
-**Insert photo of PCB** +
 ==== Opening the case ==== ==== Opening the case ====
  
Line 249: Line 290:
  
  
-==== Serial ==== 
--> [[docs:techref:hardware:port.serial]] general information about the serial port, serial port cable, etc. 
  
-There is an unsoldered 4-pin header (J708) near the power jack, which provides an interactive console. You can interrupt the boot process and enter the CFE bootloader console by pressing any key repeatedly, or wait for it boots and then login to the management console using the following credentials: 
  
-^ Credential of an Australian Optus OEM F@ST3864OP || 
-^ user | admin | 
-^ password | 0ptU%1M5 | 
  
-If the above does not work, then try the other keys:+===== Hardware Mods ===== 
 +This may apply: 
 +[[:toh:sercomm:ad1018]]
  
-https://github.com/mattimustang/optus-sagemcom-fast-3864-hacks+==== Spare SPI Flash ====
  
-The management console offers a very limited set of commands, the sh command will drop you to a BusyBox Linux shell.+There's an unsoldered SPI Flash (SOIC16) on the bottom of the board that connects to ''HSSPI.CS0''. It is known that SOIC8 Winbond "W25Q64" soldered with jumper wires works with ''spidev'' driverCustom firmware compilation is required with the following appended to the dts: 
 +<WRAP bootlog><nowiki>&hsspi { 
 + status = "okay";
  
-^ Serial parameters for Sagem F@ST3864OP || + mydev@0{ 
-^ Baudrate | 115200 | + compatible = "rohm,dh2228fv"; 
-^ Setup| 8N1 | + reg = <0>; 
-^ Voltage | 3.3V TTL|+ spi-max-frequency = <781000>; 
 + }; 
 +};</nowiki></WRAP> 
 +To use the ''spidev'' driver in the latest kernel (6.6 as of Sep 19, 2024), one has to use a specific device name ("rohm,dh2228fv" in this case), the old "linux, spidev" no longer works. Not sure if it is a kernel bug or not.
  
-==== LEDs and buttons ==== +The SPI Flash can be accessed with ''flashrom-spi'' and ''spi-tools'' (available in the OpenWRT opkg repo):
-There are three types of LEDs on this device: +
-  Connected to a serial LED driver which then drives up to 8 LEDs via a 74HC164D. +
-  - Connected to a SoC pin and controlled by a hardware LED control register. +
-  Connected to a SoC pin and controlled by Linux via gpio-leds.+
  
-LED and Button connections: +<WRAP bootlog><nowiki>root@OpenWrt:/# flashrom-spi -p linux_spi:dev=/dev/spidev1.0 
-  * WAN PortYellow(460+6, gpio38), Green(460+7, gpio39) +flashrom v1.2 on Linux 5.4.188 (mips) 
-  * WLAN Led (D12): (460+4, gpio36) Logic XOR (460+5, gpio37), this is weird! +flashrom is free softwareget the source code at https://flashrom.org 
-  * Internet Led (D17): Green(480+8gpio8), Red(74HC164D@Q2) + 
-  * DSL Bonding Led (D17)Green(480+9, gpio9) +Using clock_gettime for delay loops (clk_id1resolution1ns). 
-  * Power Led (D15)Green(480+20gpio20), Red(480+15, gpio15) +Using default 2000kHz clock. Use 'spispeed' parameter to override. 
-  * DSL (D7)Green(74HC164D@Q3+Found Winbond flash chip "W25Q64.V" (8192 kBSPIon linux_spi. 
-  * FXS (D11, Foreign Exchange Station, the phone ports, not to be confused with the xDSL port): Green(74HC164D@Q4), Red(74HC164D@Q5) +No operations were specified. 
-  * WPS Led (D13): Green(74HC164D@Q0)Red(74HC164D@Q1+ 
-  * Reset button (SW5): (460+0, gpio32) +root@OpenWrt:/# echo -n -e \\x9F\\xFF\\xFF\\xFF | spi-pipe -d /dev/spidev1.0 -b4 -n1 | hexdump -C 
-  * WPS button (SW3): (460+1, gpio33) +00000000  ff ef 40 17                                       |..@.| 
-  * WLAN button (SW2)(460+2, gpio34) +00000004</nowiki></WRAP>
-  * Some LEDs are driven by 74HC164D: +
-  * Clock (CP) = gpio0 (/sys/class/gpio/gpio480), serial_led_clk +
-  * DSA (Data input) = gpio1 (/sys/class/gpio/gpio481), serial_led_data +
-  * DSB (AND with DSA), MR(Output Async Reset) are pulled high.+
  
 ==== PCIe ==== ==== PCIe ====
Line 421: Line 455:
  
  
-===== Hardware Mods ===== 
-This may apply: 
-[[:toh:sercomm:ad1018]] 
- 
-CPU Pinout: 
-[[:docs:techref:hardware:soc:soc.broadcom.bcm63xx]] 
- 
-==== Spare SPI Flash ==== 
- 
-There's an unsoldered SPI Flash (SOIC16) on the bottom of the board that connects to ''HSSPI.CS0''. It is known that an SOIC8 Winbond "W25Q64" soldered with jumper wires works with ''spidev'' driver. The SPI Flash can be accessed with ''flashrom-spi'' and ''spi-tools'' (available in the OpenWRT opkg repo): 
- 
-<WRAP bootlog><nowiki>root@OpenWrt:/# flashrom-spi -p linux_spi:dev=/dev/spidev1.0 
-flashrom v1.2 on Linux 5.4.188 (mips) 
-flashrom is free software, get the source code at https://flashrom.org 
- 
-Using clock_gettime for delay loops (clk_id: 1, resolution: 1ns). 
-Using default 2000kHz clock. Use 'spispeed' parameter to override. 
-Found Winbond flash chip "W25Q64.V" (8192 kB, SPI) on linux_spi. 
-No operations were specified. 
- 
-root@OpenWrt:/# echo -n -e \\x9F\\xFF\\xFF\\xFF | spi-pipe -d /dev/spidev1.0 -b4 -n1 | hexdump -C 
-00000000  ff ef 40 17                                       |..@.| 
-00000004</nowiki></WRAP> 
 ===== Bootlogs ===== ===== Bootlogs =====
 ==== OEM bootlog ==== ==== OEM bootlog ====
Line 1425: Line 1436:
 Source code: Source code:
  
-https://github.com/rikka0w0/openwrt-fast3864op/tree/fast3864_master_20240213+https://github.com/rikka0w0/openwrt-fast3864op/tree/fast3864_master_20240315
  
 Before the cferam.000 is merged into ''https://github.com/openwrt/bcm63xx-cfe.git'', we need to supply our cferam.000 manually: Before the cferam.000 is merged into ''https://github.com/openwrt/bcm63xx-cfe.git'', we need to supply our cferam.000 manually:
  • Last modified: 2024/10/19 06:56
  • by rikka0w0