OpenWrt Forum Archive

Topic: Support for SagemCom F@ST 2304 (Sky)

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

danitool wrote:

Yes, that's exactly what you need. Once you got it, only connect TX,RX and GND. Never connect VCC.

Ok, the cable is here- I'm connecting it up as we speak and I'll let you know how I get on. In fact, as I'm working on a mac what do I actually do when it is connected up?

(Last edited by BobbyNewwwporrrrtP&R on 13 Feb 2015, 14:29)

BobbyNewwwporrrrtP&R wrote:
danitool wrote:

Yes, that's exactly what you need. Once you got it, only connect TX,RX and GND. Never connect VCC.

Ok, the cable is here- I'm connecting it up as we speak and I'll let you know how I get on. In fact, as I'm working on a mac what do I actually do when it is connected up?

You need to use serial terminal console software to access the port
http://wiki.openwrt.org/doc/hardware/po … l_software

Once you get the serial console working, press any key when powering up the router, you will break into the CFE CLI, then you will be able to load the RAM firmware. You will also need a TFTP server running in your computer, copy the RAM firmware to the TFTP's servers directory.

danitool wrote:

Once you get the serial console working, press any key when powering up the router, you will break into the CFE CLI, then you will be able to load the RAM firmware. You will also need a TFTP server running in your computer, copy the RAM firmware to the TFTP's servers directory.

Struggling to break into CFE CLI, I'm definitely plugged into the right sockets, the ground is showing a nice red light and the txd connection shows a light when I try and send info- have tried booting a few times and the cables are definitely firmly pushed in and in the right slots, have the right firmware update for my USB uART connector too. Have tried using both SerialTools and CoolTerm, both Mac apps for serial connections with Terminal windows.. Any suggestions?

Do you see anything int the serial console?, you should, and when you see CFE starting up, press any key, or ctrl+c, or space bar.

To check your serial cable works ok, disconnect from the router. Just take only the adapter and bridge TX with RX, and write something at the serial console, you should see the characters you are sending in the console.

danitool wrote:

Do you see anything int the serial console?, you should, and when you see CFE starting up, press any key, or ctrl+c, or space bar.

To check your serial cable works ok, disconnect from the router. Just take only the adapter and bridge TX with RX, and write something at the serial console, you should see the characters you are sending in the console.

I'll try that in a few- just updating macports and trying to use putty instead. I should be done soon

*Edit: I was missing the command line tools amongst a whole host of other components (MacPorts etc.) so no wonder it wasn't working. Still all downloading now...

(Last edited by BobbyNewwwporrrrtP&R on 13 Feb 2015, 16:51)

Ok, I'm now receiving data, but it's a little messy:

aa.ÿ..Žß.ÁZäûúûZ.Ñká®Jg.’+.ò²Sˆ®³þ
SÃû£
Qc€‚[.Ž0kÊ#€._.™€.Qšâ€
.€.€[.ÊÐS.Š“:À.J.A
.*¨ªâ€"–jó.ŠB....kÃQÀz
Œ¾j.Iþþ[²"ê........Áý.......CÂÂJÚ[.ÿ............†€{MÂ..S.cN.â[
"*S.۟®#
.SDmŠÂC..Š¢µ‚‹¢yÀŠm..š
£..‹Zñ+Suj‚¢.Â{B€
ñ’2SO
cŽ¢S²Z+–ʘЎ.K.Ò.ŠSá#..
ˆ’[. ò+š.U.‚C€#þCn#eœû.k.OB.BBükîþ+.....
.A.ŠÂÒS
Êþÿ[²2ÿ
Sƒû.K.ãf[ÓÿK.úÀ.âKÀ.ƒÀ«B..À.ðÀ.²;kÊB.À.ÂrûŠ.“..S#.K +‚
Ã.
šƒS.‰".^RÀªÏŠÃK
Ã.ü[²”n#.êøX.
ó’Xb«}ÉBDB.þVKⓂ[¢k²BS.DƒSžSú¢ÁRœJ’K.S?#.ÿ.®bp.¯ó[.[œÿ C_£AýkK.ª^3«ã.{”ƒ...ƒ*҃;–Sɂj.1*3.¿K’[..²J˜AXS
Êþ–...%VKÂ[õƒË²²ƒÃ.›’[....5rÓz݈Ðc...€‚þVÃâþ[.Nò‘.ÿclÀ«
[ÿ.K.Óòþb@Vš..»™ÛÖþ[úþ.ÿ.ëÏØÃFÈªšÿ.²BK.ë*˜
âcÿ.s.–KU..ÒSXáú>*ÿÿ.òœ.Òþ.ˆÂ.˜ÈC.
Ê[š”¢.žCCSM`.ˆˆ‚K.ŽKnâ.šù.C”Øÿ..ÿÿ.ÿ.CÈÿ..ÿ.ÿ.ÿÿ...
"J‚ËÒ¸KêBø.KcK. ÿÿSk
þ.Sk
þSk
þSk.þÿ...¢S[3ZCž
.J¢Š’.ÿ.ÿ.ÿÿ.ÿ..ÿ.ÿ.ÿÿ.ÿ.ÿ.ÿ..ÿ.ÿ.ÿÿ.ÿ.ÿ..ÿ.ÿ.ÿ.ÿÿ.ÿ..ÿ.C...Š‚S/#.GÓ.HæC.C
±âJ˜Ê‹¢’,®Ê°k.ŠZ..ÿÿɒ..²2SŒŽCãSÄ.ÿÿ.ÿ..ˆˆÿÿ..ÿ.ÿ.ÿ.ÿÿ.ÿ..Z@.[W.ÿ.ÿ.ÿÿ.ÿ.ÿ..ÿ.ÿ.ÿÿ.ÿ.ÿ.ÿ..ÿ.ÿ.ÿÿ.K’ˆ‡Ìÿÿ.ÿ..ÿ.ÿ.ÿÿ.ÿ.ÿ..ÿ.ÿ.ÿÿ.ÿ.ÿ..Ð.K†–K’òÿÐ.K––K’ò.ÿ.ÿ.ÿÿ.ÿ.ÿÛTó...ÿ.ÿ.ÿÿ.CÊs.ÿ.ÿ..ÿ.ÿ.ÿÿ.ÿ.ÿ...þÿ.#.Ì.ÿ.ÿ.ÿÿ.ÿ.ÿ..ÿ.ÿ.ÿCþ.#.Üÿ.‚.RS“"ÿÿ.ÿ..ÿ.ÿ.ÿÿ.ÿ.Cþÿ.#.Ì..ÿ.ÿ.ÿÿ.ÿ.ÿ.ÿ..ÿCþ.#..Ìÿÿ.ÿ.ÿ.ÿ..ÿ.ÿ.ÿÿ.cØ¢þÿ...ÿÿsÃ.ÿ.ÿ{sAKžzÉc.’É‚°C.ÿõˆ
¢ÿ.âú.Â:.ÍB‹òÿ.ÿ..ÿ.ÿ.ÿ.ÿò²“â‚.ëXŠÿË¢.RKâÃAíÈ.¯C‚ú2Œ
.[ÐÿKcK. ÿ..ó¾¯ÂÊ.ÿ...ý{..#ú.ÿ.ÿÿS£KþK’.þâŒò.Cœâõ‘Bøc..¡˜¢ûcØ¢þsÃâL”SuÎ.–\¢’.œÂ[cÓ#ó®Ò...äs.ˆä×.CAÂ*..òÍòÍòÍ].²zk{zk{zk{2.c..¡ˆ¢ûcÈ¢þsÃCHþCHþCHþCHþCHþCHþCHþCHþCHþCHþCHþCHþCS.ÿ

Looks like i need to check out different bits / baud rates.. I'll check it out

(Last edited by BobbyNewwwporrrrtP&R on 13 Feb 2015, 18:06)

your on higher voltage settings i think, the port is 3volt ttl

daemon123 wrote:

your on higher voltage settings i think, the port is 3volt ttl

Ah right, how do I change that?

Ok, sorted-

Baud rate 115200 , 8 bits

Ok, into CFE, how do I now upload the firmware form my TFTP directory?

BobbyNewwwporrrrtP&R wrote:

Ok, into CFE, how do I now upload the firmware form my TFTP directory?

r 192.168.1.100:initramfs-2304.elf

Double check the TFTP server is working fine, without a firewall blocking the access to it.

danitool wrote:
BobbyNewwwporrrrtP&R wrote:

Ok, into CFE, how do I now upload the firmware form my TFTP directory?

r 192.168.1.100:initramfs-2304.elf

Double check the TFTP server is working fine, without a firewall blocking the access to it.

I checked that, but... :

.HELO
CPUI
L1CI
DRAM
----
PHYS
ZQDN
PHYE
DINT
LSYN
USYN
MSYN
LMBE
PASS
----
ZBSS
CODE
DATA
L12F
MAIN


CFE version 5.14.6.1 for BCM96328 (32bit,SP,BE)
Build Date: Tue Mar  8 14:24:11 CST 2011 (zoucb@SZ01007.DONGGUAN.CN)
Copyright (C) 2005-2010 SAGEM Corporation.

HS Serial flash device: name MX25L64, id 0xc217 size 8192KB
Total Flash size: 8192K with 128 sectors
Chip ID: BCM6328B0, MIPS: 320MHz, DDR: 320MHz, Bus: 160MHz
Main Thread: TP0
Memory Test Passed
Total Memory: 67108864 bytes (64MB)
Boot Address: 0xb8000000

Board IP address                  : 192.168.1.1:ffffff00  
Host IP address                   : 192.168.1.100  
Gateway IP address                :   
Run from flash/host (f/h)         : f  
Default host run file name        : vmlinux  
Default host flash file name      : bcm963xx_fs_kernel  
Boot delay (0-9 seconds)          : 1  
Board Id (0-4)                    : F@ST2304  
Number of MAC Addresses (1-32)    : 11  
Base MAC Address                  : 7c:03:4c:8e:ee:12  
PSI Size (1-64) KBytes            : 40  
Enable Backup PSI [0|1]           : 0  
System Log Size (0-256) KBytes    : 0  
Main Thread Number [0|1]          : 0  

*** Press any key to stop auto run (1 seconds) ***
Auto run second count down: 1.Ã1
CFE> 
web info: Waiting for connection on socket 0..[J

CFE> .

CFE> 
CFE> r 192.168.1.100:initramfs-2304.elfr 192.168.1.100:initramfs-2304.elf

r 192.168.1.100:initramfs-2304.elf
*** command status = -18
  

CFE> 
CFE> r 192.168.1.100:initramfs-2304.elfr 192.168.1.100:initramfs-2304.elf

*** command status = -18
CFE> 
CFE> 

Just turned off local echo but it's still doing the same thing...

(Last edited by BobbyNewwwporrrrtP&R on 13 Feb 2015, 18:36)

Ok, I pressed r and hit enter to see what it would do, it's now asking for a login and password. Any ideas...?

*also, every time I boot into CFE now it automatically boots from an image, what image I don't know though... It also won't allow me to type anything into the password field, so I can't really try any of the user/password combinations it's likely to be

(Last edited by BobbyNewwwporrrrtP&R on 13 Feb 2015, 18:51)

doesn't make much sense, the bootloader is the same version and build as the daemon123's one

Did you set the IP (static) at your computer, before executing the comand, to 192.168.1.100?

I did- my IP address is definitely set to 192.168.1.100, but I have a feeling my router may now be a bit broken. Every boot it tries to install from only image, and seems to fail to do so..

change your pc ip settings to
ip: 192.168.1.100
netmask: 255.255.255.0
gateway: 192.168.1.1

directly connect the fast 2304 route with pc lan port

breakinto cfe

make sure your tftp server is running and is configured to work on 192.168.1.100 interface (lan)

then issue the CMDS in the cfe to upload file.

check this link for mac and tftp server
http://kb.promise.com/KnowledgebaseArticle10139.aspx

i think you are not running any tftp server on your server (mac)

Hey, I've already set up the TFTP server, although i don't think it was connecting so I maybe need to alter the settings. Again, I did make sure my IP etc. were set properly, although the TFTP server app for OS X is very basic unfortunately. I may be able to find another one.

Problem right now is that I can't access my router- it's asking for a login and password, and I'm not sure what they are supposed to be. The system opens, starts to try to boot from a flash image and then asks me for a login. I've tried admin as a login, but it doesn't seem to allow me to enter a password if I do. Also tried the name of my router...

(Last edited by BobbyNewwwporrrrtP&R on 14 Feb 2015, 18:55)

figured out the some of the GPIO relating to LEDs

Leds from Left to Right

Power LED (Power (I) icon)
GPIO 8   : Value 0 : Green
GPIO 9   : Value 0 : Orange

Check/Test (check icon)
GPIO 3   : Value 0 : Green
GPIO 11 : Value 0 : Orange

Wifi (Wifi Icon)
GPIO 4   : Value 0 : Orange

Internet (@ Icon)
GPIO 5 :  Value 0 : Orange
GPIO 6 :  Value 0 : Green
GPIO 7 :  Value 0 : Red

Right Side (LAN) Leds
The leds stay off untill a wire/jack is connected to port
after wire is connected it turns to orange by default

LAN Port1
GPIO 17   : Value 0 : Green
GPIO 17   : Value 1 : Orange

LAN Port2
GPIO 18   : Value 0 : Green
GPIO 18   : Value 1 : Orange

LAN Port3
GPIO 19   : Value 0 : Green
GPIO 19   : Value 1 : Orange

LAN Port4
GPIO 20   : Value 0 : Green
GPIO 20   : Value 1 : Orange

@BobbyNewwwporrrrtP&R,

You are on OS X right?

Make tftp easy to setup grab this… (also disable the built in server via launchctl)
http://ww2.unime.it/flr/tftpserver/

Setup the network interface that is hooked up to the router
IP ADDR:192.168.1.100
Subnet:255.255.255.0
Gateway:192.168.1.1

Create a folder for the danitool's RAM image, fix the working path & parent folder permissions in Tftpserver.app then start the tftp server in the app.

OS X has it's own netcat that requires different arguments to dump via dd…

# ON THE MAC

nc -l 192.168.1.100 5600 | dd of=mtd4-OEM_firmware_backup.bin

The OS will throw up a dialog asking to allow nc access to port 5600 if the OS X firewall is on, agree to it.

# ON THE ROUTER

dd if=/dev/mtd4 | nc 192.168.1.100 5600

NOTES:

Serial connections can be done via the 'screen' command in Terminal, it requires the 8bit argument as follows…

sudo screen /dev/cu.PL2303-000051FD 115200 cs8 

# replace the device to suit your serial device /dev/whatever

screen can behave odd with keyboard shortcuts, you will need to read some tutorials or manuals smile
ctrl+a+d will 'detach' (leaving the process running).
'screen -r' will re-attach if you have 1 screen session, otherwise list them with 'screen -ls' then reattach to a specific one by using the ID that was listed.


@danitool,
Can you explain the buildroot process?
I have it installed on Ubuntu 12, the dependancies are met, but I'm unsure what patches are required & how to add the F@ST2304 to the list of possible build options.

Do I need to add the brcmsmac drivers as a kernel module?

Maybe I'm being an idiot – is there a suitable image to install from OpenWRT?

for testing use the danitools ram image,

i am trying to add the device also and make patch, but am noob at it, so far i followed this
http://wiki.openwrt.org/doc/devel/add.new.device

and here is something that i am cooking, not tested yet, only need to figure the reset button now

the patch should be something like this

--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -858,6 +858,126 @@ static struct board_info __initdata boar
         },
     },
 };
+
+/* Sky Sagemcom F@ST2304 ADSL Router
+ * with unpopulated USB Port, 4 LAN Ports, WIFI
+ */
+static struct board_info __initdata board_FAST2304 = {
+    .name                = "F@ST2304",
+    .expected_cpu_id        = 0x6328,
+
+    .has_uart0            = 1,
+    .has_pci            = 1,
+    .has_ohci0            = 1,
+    .has_ehci0            = 1,
+    .has_usbd            = 1,
+
+    .has_enetsw            = 1,
+
+    .enetsw = {
+        .used_ports = {
+            [0] = {
+                .used    = 1,
+                .phy_id = 1,
+                .name    = "Port 1",
+            },
+            [1] = {
+                .used    = 1,
+                .phy_id    = 2,
+                .name    = "Port 2",
+            },
+            [2] = {
+                .used    = 1,
+                .phy_id    = 3,
+                .name    = "Port 3",
+            },
+            [3] = {
+                .used    = 1,
+                .phy_id    = 4,
+                .name    = "Port 4",
+            },
+        },
+    },
+
+    .leds = {
+        /* front LEDs */
+        {
+            .name            = "F@ST2304:green:power",
+            .gpio            = 8,
+            .active_low        = 1,
+            .default_trigger    = "default-on",
+        },
+        {
+            .name            = "F@ST2304:orange:power",
+            .gpio            = 9,
+            .active_low        = 1,
+        },
+        {
+            .name            = "F@ST2304:orange:diag",
+            .gpio            = 11,
+            .active_low        = 1,
+        },
+                {
+            .name            = "F@ST2304:green:diag",
+            .gpio            = 3,
+            .active_low        = 1,
+        },
+        {
+            .name            = "F@ST2304:green:wlan",
+            .gpio            = 4,
+            .active_low        = 1,
+        },
+        {
+            .name            = "F@ST2304:red:inet",
+            .gpio            = 7,
+            .active_low        = 1,
+        },
+        {
+            .name            = "F@ST2304:green:inet",
+            .gpio            = 6,
+            .active_low        = 1,
+        },
+        {
+            .name            = "F@ST2304:orange:inet",
+            .gpio            = 5,
+            .active_low        = 1,
+        },
+
+        /* LAN LEDs */
+        {
+            .name            = "F@ST2304:green:port1",
+            .gpio            = 17,
+            .active_low        = 1,
+        },
+        {
+            .name            = "F@ST2304:green:port2",
+            .gpio            = 18,
+            .active_low        = 1,
+        },
+        {
+            .name            = "F@ST2304:green:port3",
+            .gpio            = 19,
+            .active_low        = 1,
+        },
+        {
+            .name            = "F@ST2304:green:port4",
+            .gpio            = 20,
+            .active_low        = 1,
+        },
+    },
+    .buttons = {
+        {
+            .desc            = "reset",
+            .gpio            = 23, // ??? find out ???
+            .active_low        = 1,
+            .type            = EV_KEY,
+            .code            = KEY_RESTART,
+            .debounce_interval    = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
+        },
+    },
+};
+
+
 #endif
 
 /*
@@ -5252,6 +5372,7 @@ static const struct board_info __initcon
     &board_A4001N1,
     &board_dsl_274xb_f1,
     &board_FAST2704V2,
+    &board_FAST2304,
 #endif
 #ifdef CONFIG_BCM63XX_CPU_6338
     &board_96338gw,

Thank's daemon123. I'd like to try that, but I may be equally nooby smile

Which version of openwrt's buildroot are you using?

I grabbed the current one via git… (following this http://wiki.openwrt.org/doc/howto/buildroot.exigence)
git clone git://git.openwrt.org/openwrt.git

I updated the feeds, installed them and did…
make menuconfig
make kernel_menuconfig


Either I have selected the wrong source or I may be looking in the wrong place…
The only place I could find 'board_bcm963xx.c' is inside
openwrt/build_dir/target-mips_mips32_uClibc-0.9.33.2/linux-brcm63xx_generic/linux-3.14.34/arch/mips/bcm63xx/boards/board_bcm963xx.c

Which differs to your patch.

I used Barrier Breaker
git clone git://git.openwrt.org/14.07/openwrt.git

as u got the latest trunk, which has moved buttons and leds to dts

the path you found is correct, i used same kind of path to make changes, only reset button needs to be found.

i used quilt to make this patch, and it used this path, but the actual path is different, dont know why.

u can also copy / paste the patch into a file and put it in the patches directory of Barrier Breaker and it should work.

I have 14.07 but there are 638 patches directories, which one is for the bcm63xxx ? smile

Quilt looks like it will do the patching for me, is that correct assuming I get it into the correct folder with an appropriate name? I used buildroot for raspi building and it is different to OpenWRT's setup, sorry for asking dumb questions smile


I thought this was correct…
./target/linux/brcm63xx/patches-3.10/566-fast-2304.patch

…but it failed during 'make kernel_menuconfig' with…

Applying patch platform/566-fast-2304.patch
patching file arch/mips/bcm63xx/boards/board_bcm963xx.c
Hunk #1 succeeded at 858 with fuzz 2.
Hunk #2 FAILED at 5372.
1 out of 2 hunks FAILED -- rejects in file arch/mips/bcm63xx/boards/board_bcm963xx.c
Patch platform/566-fast-2304.patch does not apply (enforce with -f)
make[2]: *** [/openwrt/build_dir/target-mips_mips32_uClibc-0.9.33.2/linux-brcm63xx_generic/linux-3.10.49/.quilt_checked] Error 1
make[2]: Leaving directory `/openwrt/target/linux/brcm63xx'
make[1]: *** [menuconfig] Error 2
make[1]: Leaving directory `/openwrt/target/linux'
make: *** [kernel_menuconfig] Error 2


I cleaned & patched by hand but I can't see how to select fast2304 as the board type during 'make menuconfig', I think I'm missing a step somewhere.
Do I just make without touching menuconfig again if I patch manually?

the path is correct, rename the file to
950-board_fast2304.patch and put it there
or manually edit the file to add the new board, just copy paste from the lines i pasted above
and remember to remove the + (plugs sign) if manually adding