Commit graph

666 commits

Author SHA1 Message Date
Piotr Dymacz
01dda0659e ar71xx: add support for YunCore AP90Q
YunCore AP90Q is an outdoor CPE/AP based on Qualcomm/Atheros QCA9531 v2.
Short specification:

- 650/600/216 MHz (CPU/DDR/AHB)
- 2x 10/100 Mbps Ethernet, passive PoE support
- 64/128 MB of RAM (DDR2)
- 16 MB of FLASH
- 2T2R 2.4 GHz with external PA, up to 29 dBm
- 2x internal 5 dBi omni antennas
- 4x LED, 1x button
- UART (JP1) header on PCB

Flash instruction under U-Boot, using UART:

1. tftp 0x80060000 lede-ar71xx-generic-ap90q-squashfs-sysupgrade
2. erase 0x9f050000 +$filesize
3. cp.b $fileaddr 0x9f050000 $filesize
4. setenv bootcmd "bootm 0x9f050000"
5. saveenv && reset

Flash instruction under vendor fimrware, using telnet/SSH:

1. Connect PC with 192.168.1.x address to WAN port
2. Power up device, enter failsafe mode with button (no LED indicator!)
3. Change root password and reboot (mount_root, passwd ..., reboot -f)
4. Upload lede-ar71xx-generic-ap90q-squashfs-sysupgrade.bin to /tmp using SCP
5. Connect PC with 192.168.188.x address to LAN port, SSH to 192.168.188.253
6. Invoke:
- cd /tmp
- fw_setenv bootcmd "bootm 0x9f050000"
- mtd erase firmware
- mtd -r write lede-ar71xx-generic-ap90q-squashfs-sysupgrade.bin firmware

Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
2016-11-21 10:05:40 +01:00
Piotr Dymacz
16afa08d19 ar71xx: add support for COMFAST CF-E380AC v1 and v2
COMFAST CF-E380AC v1/v2 is a ceiling mount AP with PoE
support, based on Qualcomm/Atheros QCA9558+QCA9880+AR8035.

There are two versions of this model, with different RAM
and U-Boot mtd partition sizes:
- v1: 128 MB of RAM, 128 KB U-Boot image size
- v2: 256 MB of RAM, 256 KB U-Boot image size

Version number is available only inside vendor GUI,
hardware and markings are the same.

Short specification:

- 720/600/200 MHz (CPU/DDR/AHB)
- 1x 10/100/1000 Mbps Ethernet, with PoE support
- 128 or 256 MB of RAM (DDR2)
- 16 MB of FLASH
- 3T3R 2.4 GHz, with external PA (SE2576L), up to 28 dBm
- 3T3R 5 GHz, with external PA (SE5003L1), up to 30 dBm
- 6x internal antennas
- 1x RGB LED, 1x button
- UART (T11), LEDs/GPIO (J7) and USB (T12) headers on PCB
- external watchdog (Pericon Technology PT7A7514)

Flash instruction:

Original firmware is based on OpenWrt.
Use sysupgrade image directly in vendor GUI.

Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
2016-11-21 10:05:40 +01:00
Piotr Dymacz
31952dbd1c ar71xx: add support for COMFAST CF-E320N v2 and CF-E520N/CF-E530N
As we already have support for CF-E316N v2 and many devices from
this vendor look similar, the support was included in existing
mach-*.c file, with few cleanups and fixes.

All 3 devices are based on Qualcomm/Atheros QCA9531 v2.

COMFAST CF-E320N v2 is a ceiling mount AP with PoE support.
Short specification:

- 650/393/216 MHz (CPU/DDR/AHB)
- 2x 10/100 Mbps Ethernet, both with PoE support
- 64 MB of RAM (DDR2)
- 16 MB of FLASH
- 2T2R 2.4 GHz, up to 22 dBm
- 2x internal antennas
- 1x RGB LED, 1x button
- UART (J1), GPIO (J9) and USB (J2) headers on PCB
- external watchdog (Pericon Technology PT7A7514)

COMFAST CF-E520N/CF-E530N are in-wall APs with USB and PoE support.
They seem to have different only the front panel.
Short specification:

- 650/393/216 MHz (CPU/DDR/AHB)
- 2x 10/100 Mbps Ethernet, WAN with PoE support
- 1x USB 2.0 (in CF-E520N covered by panel, available on PCB)
- 32 MB of RAM (DDR2)
- 8 MB of FLASH
- 2T2R 2.4 GHz, up to 22 dBm
- 2x internal antennas
- 1x LED, 1x button
- UART (J1) headers on PCB

Flash instruction:

Original firmware is based on OpenWrt.
Use sysupgrade image directly in vendor GUI.

Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
2016-11-21 10:05:40 +01:00
Henryk Heisig
0d760bfba8 ar71xx: tl-wpa8630: Use dynamic parsing of the firmware partition
Signed-off-by: Henryk Heisig <hyniu@o2.pl>
2016-11-16 11:01:18 +01:00
Jaylin Yu
7ee6ab1a31 ar71xx: Add usable, inactive LEDs on OpenMesh devices
OpenMesh devices have often LEDs which are not yet used by OpenWrt. These
should still be available as disabled LEDs in the system configuration for
easier modification.

Signed-off-by: Jaylin Yu <jaylin.yu@open-mesh.com>
[sven.eckelmann@open-mesh.com: Remove LEDs already specified via diag.sh,
 add wifi/status LEDs]
Signed-off-by: Sven Eckelmann <sven.eckelmann@open-mesh.com>
2016-11-16 10:54:33 +01:00
FUKAUMI Naoki
0165203304 ar71xx: add support for Buffalo BHR-4GRV2
Signed-off-by: FUKAUMI Naoki <naobsd@gmail.com>
2016-11-16 10:54:33 +01:00
Martin Weinelt
5247ac2f80
ar71xx, ramips: reduce CPU load and flickering on devices using rsslieds
Polling every 40ms causes more than 10% CPU load on weak devices. An
interval of 200ms is much more reasonable.

Signed-off-by: Martin Weinelt <martin@darmstadt.freifunk.net>
[Matthias Schiffer: adapt OpenWrt patch; add ramips; extend commit message]
Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
2016-11-16 01:42:15 +01:00
Henryk Heisig
1b2b3cb8be ar71xx: wpa8630: change board name to tl-wpa8630
Signed-off-by: Henryk Heisig <hyniu@o2.pl>
2016-11-08 11:17:10 +01:00
Henryk Heisig
8cc0c34ef5 ar71xx: Add support to Powerline ac TP-Link WPA8630
Signed-off-by: Henryk Heisig <hyniu@o2.pl>
2016-10-31 17:13:37 +01:00
Chris Blake
53b43e65e7 ar71xx: Add net config for MR12 & MR16
Both the MR12 and MR16 are single gigabit ethernet devices, similar to the
MR18. This change gives them the correct network config on a fresh install.

Signed-off-by: Chris Blake <chrisrblake93@gmail.com>
[Jo-Philipp Wich: adjust for alphabetical ordering, line wrap commit msg]
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2016-10-31 12:52:56 +01:00
Stijn Tintel
e3875350f3 ar71xx: add support for D-Link DAP-2695 rev. A1
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
Acked-by: John Crispin <john@phrozen.org>
2016-10-27 01:50:42 +03:00
Stijn Tintel
e19427bd79 ar71xx/base-files: rename 09_fix-trx-header 09_fix-checksum
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
Acked-by: John Crispin <john@phrozen.org>
2016-10-27 01:50:42 +03:00
Julius Schulz-Zander
a71a8955f2 ar71xx: add support for TP-Link WR802N v1
This patch adds support solely for version 1 of the TP-Link WR802N.
It is based on Rick Pannen's patch posted on the OpenWrt devel list.

Signed-off-by: Julius Schulz-Zander <julius@inet.tu-berlin.de>
2016-10-26 12:37:45 +02:00
Chris Blake
fac018b25e ar71xx: Remove switch config for the MR12/MR16
These boards do not have a switch, so they should have never been added
to this file in the first place.

Signed-off-by: Chris Blake <chrisrblake93@gmail.com>
2016-10-26 12:37:45 +02:00
Jing Lin
7ba9a3a504 ar71xx: Add support to DomyWifi DW33D
Signed-off-by: Jing Lin <mumuqz@163.com>
2016-10-25 17:51:08 +02:00
Henryk Heisig
f5aa459043 ar71xx: Add support to TP-Link EAP120
Signed-off-by: Henryk Heisig <hyniu@o2.pl>
2016-10-18 09:18:55 +02:00
Christian Lamparter
098f7156cc ar71xx: add support for the Airtight C-60
This patch adds support for the Airtight C-60.

SOC:	Atheros AR9344 rev 2 (CPU:560.000MHz)
RAM:	128 MiB
NOR:	MX25L3205D 4MiB
NAND:	ST Micro NAND 32MiB 3,3V 8-bit
SW-NET:	AR8327N (2 Ports)
WLAN1:	Dual-Band AR9340 Rev:2 (built-in SoC)
WLAN2:	Dual-Band AR9300 Rev:4 PCIe Chip

The switch is setup for an accesspoint:
	LAN1: (gigabit) is the wan-port.
	LAN2: (fast ethernet) is bridged with the br-lan.

Flashing Guide (via initramfs):
  1. Connect a PC to the serial port of the C-60.
     power up the C-60.

     Enter u-boot command prompt:
     #> nand erase
     #> setenv bootcmd "bootm 0x9f060000"
     #> saveenv
     #> setenv ipaddr 192.168.1.1
     #> setenv netmask 255.255.255.0
     #> setenv serverip 192.168.1.100
     #> setenv bootfile lede-ar71xx-nand-c-60-initramfs-kernel.bin
     #> tftpboot
     #> bootm

  2. Wait for the C-60 to boot LEDE.
     On the root prompt. Enter:
     # ubiformat /dev/mtd4
     # ubiattach -p /dev/mtd4

  3. After that copy the sysupgrade.tar onto the router and run:
     # sysupgrade sysupgrade.tar

     to flash the image.

Special thanks to Chris Blake <chrisrblake93@gmail.com>. He provided
a C-60 unit and he helped with debugging the switch, LEDs and platfrom
support.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2016-10-15 11:36:50 +02:00
Florian Beier
5abeba3450
ar71xx: add userspace support for D-Link DIR-869 A1, generate images
Signed-off-by: Florian Beier <beier.florian@gmail.com>
[Matthias Schiffer: fix factory image, improve commit message]
Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
2016-10-11 22:58:37 +02:00
Matthias Schiffer
e407f1a4c8
ar71xx: add back SEAMA header checksum fix (as used on ramips)
The D-Link DIR-869 A1 doesn't accept images with the jffs2 marker added
after the checksummed range, so we need to include it in the checksum and
fix it on first boot.

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
2016-10-11 20:57:59 +02:00
Piotr Dymacz
c166b050fd ar71xx: base-files: fix boards order in lib/upgrade/platform.sh
Keep also case sections in alphabetical order.

Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
2016-10-04 11:50:50 +02:00
Piotr Dymacz
8be47007a9 ar71xx: base-files: cleanups in lib/upgrade/platform.sh
This includes:

- code style fixes
- fix boards order within case sections

Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
2016-10-04 11:50:50 +02:00
Piotr Dymacz
6e58440fc1 ar71xx: base-files: cleanups in etc/board.d/01_leds
This includes:

- use of local 'board' variable in LED names, wherever possible
- merge of boards with exactly the same LED configuration

Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
2016-10-04 11:50:50 +02:00
Piotr Dymacz
c142df3094 ar71xx: fix LED names for GL Innovations boards
Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
2016-10-04 11:50:50 +02:00
Piotr Dymacz
8689078a9b ar71xx: base-files: fix code style in etc/board.d/01_leds
Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
2016-10-04 11:50:50 +02:00
Piotr Dymacz
d09f4e0631 ar71xx: base-files: combine boards with the same config in etc/diag.sh
Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
2016-10-04 11:50:49 +02:00
Piotr Dymacz
2917ae91ec ar71xx: base-files: cleanups in etc/diag.sh
This includes:

- code style fixes
- use of local 'board' variable in LED names, wherever possible

Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
2016-10-04 11:50:49 +02:00
Piotr Dymacz
edcdb93467 ar71xx: base-files: fix boards order in etc/board.d/02_network
Keep everything in alphabetical order. Boards are ordered in two steps,
first within/inside common configuration (case section), then sections,
globally.

Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
2016-10-04 11:50:49 +02:00
Piotr Dymacz
a75cfac1f6 ar71xx: base-files: cleanups in etc/board.d/02_network
This includes:

- code style fixes
- removal of huge comment (it should be in doc, not here) and some small ones
- removal of redundant config for DR531/WPJ531 as the default is the same
- merge of boards with exactly the same interfaces config

Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
2016-10-04 11:50:49 +02:00
Piotr Dymacz
4fa90c49c1 ar71xx: base-files: rework etc/board.d/02_network
Convert etc/board.d/02_network in ar71xx target to the same shape
as we have in ramips target. Split code into two new functions:

- interface/s setup in ar71xx_setup_interfaces()
- MAC/s setup in ar71xx_setup_macs()

Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
2016-10-04 11:50:48 +02:00
Martin Blumenstingl
e7be0decf6 ar71xx: Do not use a hardcoded ath10k firmware mac address
ar71xx has an init-script for special devices where the ath10k OTP
calibration data is stored on the PCIe card's EEPROM (and thus can only
be read by ath10k). Unfortunately the OTP data uses the default mac
address (= all devices come with the same mac address, which leads to
problems when you have multiple of these devices in the same network).

To work around this the mac address is patched in the firmware during
the first boot of the device. To prevent flash wear this was only done
if the ath10k firmware matched a hardcoded md5sum.
However, if the md5sum does not match this can mean that either the mac
address was already patched (which is fine) - unfortunately it can also
mean that the firmware version was updated without updating the
hardcoded md5sum.

Change the "was the mac address already patched" check to actually
compare the mac address inside the ath10k firmware.

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
2016-09-28 08:39:01 +02:00
Chris Blake
68d649f5cd ar71xx: add support for Cisco Meraki Z1 Cloud Managed Teleworker Gateway
This patch adds support for Cisco's Z1.
Detailed instructions for the flashing the device can
be found in the OpenWrt wiki:
<https://wiki.openwrt.org/toh/meraki/z1>

Signed-off-by: Chris Blake <chrisrblake93@gmail.com>
2016-09-27 17:50:22 +02:00
Neal Oakey
524d4110f9
ar71xx: add model detection for many Ubiquiti AirMax XM devices
Signed-off-by: Neal Oakey <neal.oakey@bingo-ev.de>
[Matthias Schiffer: minor adjustments]
Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
2016-09-24 19:07:27 +02:00
Jo-Philipp Wich
1c09849f6c treewide: remove bad local shell variable declarations
Local variable declarations outside of functions are illegal since the Busybox
update to v1.25.0, therfore remove them from the appropriate places.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2016-09-24 14:38:20 +02:00
Mathias Kresin
c1578d4fc9 cleanup ucidef_set_interface* usage
- quote the interface name
- remove call of not existing function
- remove the proto if it's the default proto

Signed-off-by: Mathias Kresin <dev@kresin.me>
2016-09-10 15:32:25 +02:00
Piotr Dymacz
f478fba663 ar71xx: add support for Zbtlink ZBT-WE1526
Zbtlink ZBT-WE1526 is based on Qualcomm Atheros QCA9531 v2.
Short specification:

- 650/400/200 MHz (CPU/DDR/AHB)
- 5x 10/100 Mbps Ethernet
- 1x USB 2.0
- 128 MB of RAM (DDR2)
- 16 MB of FLASH
- 2T2R 2.4 GHz, up to 22 dBm
- two external, non-detachable antennas
- 8x LED, 1x button
- UART header (pinout: VCC, RX, TX, GND)

Flash instruction:

Use sysupgrade in vendor firmare which is based on OpenWrt.

Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
2016-08-18 09:49:18 +02:00
Chuanhong Guo
d1b20a3659 ar71xx: fix profile name of Mercury MW4530R
The mw4530r-v1 profile in tp-link.mk is for Mercury MW4530R.
There is no such a device called TL-WDR4530.
Also change MERCURY to Mercury in /lib/ar71xx.sh

Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
2016-08-15 15:18:35 +02:00
diizzyy
1bcad76395 ar71xx: Make wget2nand look for LEDE project firmware files
Make wget2nand aware of the new file names

Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
2016-07-26 08:39:36 +02:00
Matthias Schiffer
adbbfb7ff9
ar71xx: don't use D-Link DIR-505 status LED as ethernet indicator
The stock firmware uses the single LED as status indicator only. Using the
same LED both for status and as ethernet indicator is uncommon, and has
been confusing users who were using the device as a WLAN mesh node (so the
LED was just off, as no ethernet was connected).

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
2016-07-28 15:59:04 +02:00
Matthias Schiffer
500a67a167
ar71xx: add revision detection for D-Link DIR-505 A1/A2
The A1 image also works on the A2, correctly set AR71XX_MODEL in this case.

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
2016-07-28 15:44:52 +02:00
John Crispin
96fa9aa13b ar71xx: add a missing ;; to ar71xx.sh
commit 42305ae24a ("ar71xx: add support for gl-mifi")

was missing a ;; breaking boot up

Signed-off-by: John Crispin <john@phrozen.org>
2016-07-24 11:17:34 +02:00
Zhao Gang
42305ae24a ar71xx: add support for gl-mifi
This add initial support for gl-mifi.
Product page: http://www.gl-inet.com/mifi/

Signed-off-by: Zhao Gang <gang.zhao.42@gmail.com>
2016-07-24 06:38:30 +02:00
Jo-Philipp Wich
e633a1b48f ar71xx: fix default network config of WZR-HP-G300NH and CR3000
The network defaults for the WZR-HP-G300NH and CR3000 models wrongly set the
lan interface to a vlan tagged device while the switch was set up in untagged
mode, leading to broken lan side ethernet connectivity by default.

Fix the issue by emitting untagged interfaces, consistent with the switch
setting on the device.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2016-07-20 00:21:48 +02:00
Zhao Gang
d963ddf042 ar71xx: add support for gl-ar300m
This add initial support for gl-ar300m router.
Product page: http://www.gl-inet.com/ar300m/

Signed-off-by: Zhao Gang <gang.zhao.42@gmail.com>
2016-07-20 00:21:48 +02:00
Piotr Dymacz
d2c9b169b3 ar71xx: add support for jjPlus JWAP230
jjPlus JWAP230 is based on Qualcomm Atheros QCA9558 + QCA8337.
Short specification:

- 720/600/200 MHz (CPU/DDR/AHB)
- 2x 10/100/1000 Mbps Ethernet
- 128 MB of RAM (DDR2)
- 16 MB of FLASH
- 3T3R 2.4 GHz with external PA (SST12LP15A), up to 28 dBm
- 3x MMCX connectors
- power input: 802.3at PoE or wide range DC (36-57 V)
- optional 802.3af PSE
- 1x mini-PCIe connector with PCIe, USB buses and SIM slot
- 1x mini-PCIe connector with PCIe bus
- 1x USB type-A connector
- 6x LED, 1x button (hardware reset)
- RS232 (MAX3223) and (E)JTAG headers

Default configuration:

- WAN on eth1 (RJ45 near LEDs with PoE input)
- LAN on eth0 (RJ45 near DC jack)
- left top LED set to be status LED
- all LEDs configurable form user space

Flash instruction (do it under U-Boot, using RS232):

1. tftp 0x80060000 lede-ar71xx-generic-jwap230-squashfs-sysupgrade.bin
2. erase 0x9f050000 +$filesize
3. cp.b $fileaddr 0x9f050000 $filesize
4. setenv bootcmd "bootm 0x9f050000"
5. saveenv && reset

Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
2016-07-13 20:03:10 +02:00
Piotr Dymacz
e767980eb8 ar71xx: add support for Wallys DR531
Wallys DR531 is based on Qualcomm Atheros QCA9531 v2.
Short specification:

- 550/400/200 MHz (CPU/DDR/AHB)
- 2x 10/100 Mbps Ethernet
- 64 MB of RAM (DDR2)
- 8 MB of FLASH
- 2T2R 2.4 GHz with external PA (SE2576L), up to 30 dBm
- 2x MMCX connectors
- mini-PCIe connector with PCIe/USB buses and SIM slot
- 7x LED, 1x button, 1x optional buzzer
- UART, (E)JTAG and LED headers

Default configuration:

- WAN on eth1 (RJ45 near DC jack)
- LAN on eth0 (RJ45 near button)
- S4 LED set to be status LED
- all LEDs configurable form user space
- button configured for reset

Flash instruction (do it under U-Boot, using UART):

1. tftp 0x80060000 lede-ar71xx-generic-dr531-squashfs-sysupgrade.bin
2. erase 0x9f050000 +$filesize
3. cp.b $fileaddr 0x9f050000 $filesize
4. setenv bootcmd "bootm 0x9f050000"
5. saveenv && reset

Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
2016-07-13 20:03:10 +02:00
Yousong Zhou
09907170dd ar71xx: base-files: remove the now unneeded 09_fix-seama-header
It was intended as a workaround when jffs2 eof mark was included in the
checksum calculation in seama header.  When qihoo-c301 support was
introduced the board name was not inserted into the case list (because I
was not aware of it's existence), but the issue was fixed by excluding
the jffs2 marker as part of the checksum data

Now we are at it, drop it.

Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
2016-07-11 13:26:36 +02:00
David Pinilla Caparrós
bbbe9932e3 ar71xx: WDR4300: Fixed default VLAN order
Reordered the VLANs so the LAN ports are set to VLAN 1 and the WAN port is set to VLAN 2, as in the other routers in the config file. Moreover, this model had this VLAN mapping in OpenWRT Chaos Calmer. It seems that the VLAN were switched when fixing a bug in the port mapping ( OpenWRT changeset 47799 )

Signed-off-by: David Pinilla Caparrós <dpinitux@gmail.com>
2016-06-17 04:13:07 +02:00
Allan Nick Pedrana
e61fe4e4d7 ar71xx: add support for OpenEmbed SOM9331
This patch adds the target profile SOM9331 and configures hardware
functionality for the 3x Eth Ports & corresponding LED's, the USB Host,
the USART to USB bridge and the System LED.

Signed-off-by: Allan Nick Pedrana <nik9993@gmail.com>
2016-06-07 11:21:55 +02:00
KeLei Liang
563e9d5e1b ar71xx: add WRTnode2Q support
Signed-off-by: KeLei Liang <xzmu@wrtnode.com>
2016-06-06 14:58:11 +02:00
Stijn Segers
d2a91f9853
ar71xx: Fix TL-WR841N v11 LEDs, use separate machine
Signed-off-by: Stijn Segers <francesco.borromini@inventati.org>
2016-05-31 17:36:51 +02:00