I was finally able to build an image for Alice Gate W2+ (known in Italy as "Vela") that will fix the CRC problem as well, as it runs the "mtd fixtrx linux" command at the end of the first boot. The resulting images should be good for AGW2+ (known as AGA) as well, but on this I didn't test.
Below I'll attach the patch, if anyone is interested, but this is the procedure to apply it:
1) cd in the "trunk" folder.
2) update the source tree (this patch is tested with svn 33271)
3) "make menuconfig" and choose bcm963xx platform
4) "make kernel_menuconfig" and exit with no change
5) copy and paste the patch in a file (let's say for example vela.patch) and put it in "trunk" folder
6) from trunk, type "patch -p0 < vela.patch"
7) go on compiling as usual
When finished, you should find in the bin/bcm963xx folder few images, use openwrt-AliceGateW2+* for "Vela" or openwrt-AGW2+* for "AGA", squashfs of jffs2 as you prefer.
ONE THING TO MENTION: in order to make the device to boot properly, flash it twice, as in this way you'll flash both banks o the flash.
That's what I did: I was coming from Roleo's USR9108 fw for this device. I stopped the router at the CFE from serial console, pointed the browser to 192.168.1.1, uploaded the image, after finished flashing, I stopped again the router at CFE, pointed once more the browser to 192.168.1.1, uploaded the same image and after finishing, you'll have the router booting from openwrt.
Give few minutes to complete the first boot and then reboot it, it should be ok.
I'm using openwrt on Alice Gate W2+ for the last couple of days as an AP and seems to be working fine. I noticed some troubles with opkg and gpioctl, but, what I needed (i.e. and AP), is working very good :-)
Ciao.
Index: target/linux/brcm63xx/image/Makefile
===================================================================
--- target/linux/brcm63xx/image/Makefile (revision 33271)
+++ target/linux/brcm63xx/image/Makefile (working copy)
@@ -218,6 +218,10 @@
$(call Image/Build/CFE,$(1),AW4339U,6328,DSL274XB-F1-AU,,--signature2="4.06.01.AUF1" --pad 4)
# D-Link DVA-G3810BN/TL
$(call Image/Build/CFEFIXUP,$(1),96358VW,DVAG3810BN,6358,DVAG3810BN)
+ # Pirelli Alice Gate W2+ (Vela)
+ $(call Image/Build/CFE,$(1),"Alice Gate W2+",6348,"AliceGateW2+")
+ # Pirelli AGW2+ (AGA)
+ $(call Image/Build/CFE,$(1),AGW2+,6348,AGW2+)
# TP-Link TD-8810A, TD-8810B, TD-8811A, TD-8811B
$(call Image/Build/CFE,$(1),8L-2M-8M,6338,TP8810_8811)
Index: target/linux/brcm63xx/base-files/etc/uci-defaults/brcm63xx_fixcrc.sh
===================================================================
--- target/linux/brcm63xx/base-files/etc/uci-defaults/brcm63xx_fixcrc.sh (revision 33271)
+++ target/linux/brcm63xx/base-files/etc/uci-defaults/brcm63xx_fixcrc.sh (working copy)
@@ -21,7 +21,9 @@
CT6373-1 |\
MAGIC |\
V2110 |\
- V2500V_BB)
+ V2500V_BB |\
+ "Alice" |\
+ "AliceAGW2+")
do_fixcrc
;;
esac
--- build_dir/linux-brcm63xx/linux-3.3.8/arch/mips/bcm63xx/boards/board_bcm963xx.c.ori 2012-08-27 23:17:09.376939040 +0200
+++ build_dir/linux-brcm63xx/linux-3.3.8/arch/mips/bcm63xx/boards/board_bcm963xx.c 2012-08-26 22:14:12.880119000 +0200
@@ -1418,6 +1418,199 @@
.debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
},
},
+
+};
+
+static struct board_info __initdata board_alice_gate_w2plus = {
+ .name = "Alice Gate W2+",
+ .expected_cpu_id = 0x6348,
+
+ .has_uart0 = 1,
+ .has_enet0 = 1,
+ .has_enet1 = 1,
+ .has_pci = 1,
+
+ .enet0 = {
+ .has_phy = 1,
+ .use_internal_phy = 1,
+ },
+ .enet1 = {
+ .force_speed_100 = 1,
+ .force_duplex_full = 1,
+ },
+
+ .has_ohci0 = 1,
+ .has_pccard = 1,
+ .has_ehci0 = 1,
+
+ .has_dsp = 1,
+ .dsp = {
+ .gpio_rst = 25,
+ .gpio_int = 34,
+ .cs = 2,
+ .ext_irq = 2,
+ },
+
+ .leds = {
+ {
+ .name = "Alice Gate W2+:green:power",
+ .gpio = 0,
+ .active_low = 1,
+ .default_trigger = "default-on",
+ },
+ {
+ .name = "Alice Gate W2+:green:usb",
+ .gpio = 35,
+ .active_low = 1,
+ },
+ {
+ .name = "Alice Gate W2+:green:ethernet",
+ .gpio = 6,
+ .active_low = 1,
+ },
+ {
+ .name = "Alice Gate W2+:green:wifi",
+ .gpio = 23,
+ .active_low = 1,
+ },
+ {
+ .name = "Alice Gate W2+:green:adsl",
+ .gpio = 2,
+ .active_low = 1,
+ },
+ {
+ .name = "Alice Gate W2+:green:service",
+ .gpio = 22,
+ .active_low = 1,
+ },
+ {
+ .name = "Alice Gate W2+:red:service",
+ .gpio = 7,
+ .active_low = 1,
+ },
+ {
+ .name = "Alice Gate W2+:green:voip",
+ .gpio = 3,
+ .active_low = 1,
+ },
+ {
+ .name = "Alice Gate W2+:red:voip",
+ .gpio = 4,
+ .active_low = 1,
+ },
+ },
+
+ .buttons = {
+ {
+ .desc = "reset",
+ .gpio = 33,
+ .active_low = 1,
+ .type = EV_KEY,
+ .code = KEY_RESTART,
+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
+ },
+ },
+};
+
+static struct board_info __initdata board_aliceagw2plus = {
+ .name = "AliceAGW2+",
+ .expected_cpu_id = 0x6348,
+
+ .has_uart0 = 1,
+ .has_enet0 = 1,
+ .has_enet1 = 1,
+ .has_pci = 1,
+
+ .enet0 = {
+ .has_phy = 1,
+ .use_internal_phy = 1,
+ },
+ .enet1 = {
+ .force_speed_100 = 1,
+ .force_duplex_full = 1,
+ },
+
+ .has_ohci0 = 1,
+ .has_pccard = 1,
+ .has_ehci0 = 1,
+
+ .has_dsp = 1,
+ .dsp = {
+ .gpio_rst = 25,
+ .gpio_int = 34,
+ .cs = 2,
+ .ext_irq = 2,
+ },
+
+ .leds = {
+ {
+ .name = "AliceAGW2+:green:power",
+ .gpio = 0,
+ .active_low = 1,
+ .default_trigger = "default-on",
+ },
+ {
+ .name = "AliceAGW2+:green:usb/ethernet",
+ .gpio = 6,
+ .active_low = 1,
+ },
+ {
+ .name = "AliceAGW2+:green:wifi",
+ .gpio = 35,
+ .active_low = 1,
+ },
+ {
+ .name = "AliceAGW2+:red:wifi",
+ .gpio = 36,
+ .active_low = 1,
+ },
+ {
+ .name = "AliceAGW2+:green:security",
+ .gpio = 27,
+ .active_low = 1,
+ },
+ {
+ .name = "AliceAGW2+:red:security",
+ .gpio = 28,
+ .active_low = 1,
+ },
+ {
+ .name = "AliceAGW2+:green:adsl",
+ .gpio = 1,
+ .active_low = 1,
+ },
+ {
+ .name = "AliceAGW2+:green:service",
+ .gpio = 2,
+ .active_low = 1,
+ },
+ {
+ .name = "AliceAGW2+:red:service",
+ .gpio = 3,
+ .active_low = 1,
+ },
+ {
+ .name = "AliceAGW2+:green:voip",
+ .gpio = 4,
+ .active_low = 1,
+ },
+ {
+ .name = "AliceAGW2+:red:voip",
+ .gpio = 5,
+ .active_low = 1,
+ },
+ },
+
+ .buttons = {
+ {
+ .desc = "reset",
+ .gpio = 33,
+ .active_low = 1,
+ .type = EV_KEY,
+ .code = KEY_RESTART,
+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
+ },
+ },
};
#endif
@@ -2972,6 +3165,8 @@
&board_96348A_122,
&board_CPVA502plus,
&board_96348W3,
+ &board_alice_gate_w2plus,
+ &board_aliceagw2plus,
#endif
#ifdef CONFIG_BCM63XX_CPU_6358
--- build_dir/linux-brcm63xx/linux-3.3.8/drivers/mtd/chips/gen_probe.c.ori 2012-06-01 09:16:13.000000000 +0200
+++ build_dir/linux-brcm63xx/linux-3.3.8/drivers/mtd/chips/gen_probe.c 2012-08-26 21:51:21.111119000 +0200
@@ -127,9 +127,12 @@
* chip in read mode.
*/
+ /* Fix for Alice Gate W2+ (Vela) and ALiceAGW2+ (AGA)
+
for (i = 1; i < max_chips; i++) {
cp->probe_chip(map, i << cfi.chipshift, chip_map, &cfi);
}
+ */
/*
* Now allocate the space for the structures we need to return to