In particular, phy_connect before register_netdev. This is because
register_netdev runs the netdev notifiers, which can race with the rest of
the initialization in ag71xx_probe. In my case this manifested in two ways:
1) If ag71xx is compiled as a module and inserted after netifd has started,
netifd is notified by register_netdev before the call to
ag71xx_phy_connect. netifd tries to bring the interface up, which calls
ag71xx_open, which in turn enters ag71xx_phy_start. This keys off
ag->phy_dev (which is still NULL) and thinks this is a fixed-link board,
and enters ag71xx_link_adjust. This looks at ag->speed which is not yet
initialized and hits the BUG() in the switch (ag->speed) in
ag71xx_link_adjust.
This is the wrong code path for ag71xx_phy_start - my board has PHYs that
need to be brought up with phy_start. Doing ag71xx_phy_connect before
register_netdev ensures that ag->phy_dev is non-NULL before
ag71xx_phy_start is ever called.
2) When ag71xx is built into the kernel, and netconsole is enabled, there
is a gap in the initial burst of replayed printks right after the netdev
comes up. My assumption is that netconsole is also triggered by a netdev
notifier, and part of this printk burst happens before the call into
ag71xx_phy_connect, so part of the burst is lost while the PHY comes up.
This patch fixes the gap - all the printks before eth0 comes up are bursted
in full when netconsole initializes.
ag71xx_phy_connect_xxx no longer runs with a registered netdev, so the
logging has been adjusted accordingly to avoid "unregistered net_device" or
"eth%d" messages in dmesg.
Signed-off-by: Catalin Patulea <cat@vv.carleton.ca>
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 38689
Patchwork: http://patchwork.openwrt.org/patch/4281/
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
[juhosg:
- remove the Image/Build/CyberTANLZMA/loader macro, it is not used
- move the MYNETREXT SingleProfile definition to the correct place]
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 38688
This patch adds a new device definition for a
Western Digital device. The hardware seems to
be based on Qualcomm Atheros DB120 design.
Patchwork: http://patchwork.openwrt.org/patch/4281/
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
[juhosg: refresh kernel patch]
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 38686
Append EOF markers to the END of the UBI image
file. This forces the kernel to erase all blocks
after the marker even if those blocks are not
empty.
Additionally, the resulting image can be flashed
from the original web UI now, so use '-factory'
suffix for that.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 38683
Extended the Makefile to generate a working factory reset image
for Netgear WNDR4300. The image uses UBI with two volumes squashfs
(rootfs) and JFFS2 (rootfs_data). In order to make stock U-Boot
happy, a fake rootfs image is placed into the last erase block
of the kernel partition.
Signed-off-by: Stefan Agner <stefan@agner.ch>
[juhosg:
- restore the NetgearNAND/initramfs macro,
- remove unused {Squash,Ubi}fsTemplate macros,
- remove board specific mtd options from CONFIG_CMDLINE, append the
board specific ubi.mtd parameter to the kernel command line instead,
- increase kernel partition size to 2MiB,
- use board specific ini file for ubinize,
- put jffs2 eof mark into the rootfs_data ubi volume,
- use KDIR_TMP for temporary images,
- use the squashfs-raw image,
- increase kernel partition size to 2MiB,
- use a local ubinize macro,
- fix macro parameter comments,
- put the fake rootfs into the last erase block of the kernel
partition,
- move Image/Build/NetgearNAND/buildkernel macro before
define Image/Build/NetgearNAND,
- don't use the wndr3700 utility, use '-M' parameter of mkimage to set
the uImage magic,
- use '-recovery' suffix for the generated image, it is only usable via
the fw_recovery function of the bootloader,
- update commit log]
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 38655
Add new subtarget nand with UBI/UBIFS including GLUEBI and squashfs.
This target will be used for NAND based router which make use of
UBI (and maybe UBIFS later on) in order to provide proper NAND
support.
Signed-off-by: Stefan Agner <stefan@agner.ch>
[juhosg:
- tweak target.mk:
change BOARDNAME variable,
improve Target/Description,
remove targz and ubifs from FEATURES and add broken flag,
- optimize kernel configuration:
disable ubifs, it is not used yet,
disable unused MTD options,
disable SPI support
disable unused network drivers,
tune kernel command line,
- remove image/ubinize.cfg, it will be in a follow-up patch
- move profile modifications into a separate patch]
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 38646
Ensures that the 'Default' images are generated
even if the subtarget has no profiles.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 38635
Patchwork: http://patchwork.openwrt.org/patch/4183/
Signed-off-by: Terry Yang <yangbo@bhunetworks.com>
[juhosg:
- remove MultiProfile, it makes no sense for a single board
- move SingleProfile call and the mtdlayout to a different
location keep things sorted (well, almost)]
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 38593
BXU2000n-2 A1 is a BHU Networks WLAN board, use ar9341 chip.
Patchwork: http://patchwork.openwrt.org/patch/4183/
Signed-off-by: Terry Yang <yangbo@bhunetworks.com>
[juhosg:
- rename and refresh kernel patch,
- fix some checkpatch warnings and adjust whitespaces in
mach-bhu-bxu2000n2-a.c]
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 38591
This patch adds support for DRAGINO2 board (used by
Meshpotato v2). Most of the files included can be
found in the official svn repository provided by the
company [1]. I have just adapt it to the last OpenWrt
trunk revision (Fri Oct 4 10:49:47 2013).
1. http://svn.dragino.com/dragino2
Patchwork: http://patchwork.openwrt.org/patch/4234/
Signed-off-by: Pau Escrich <p4u@dabax.net>
[juhosg:
- rename and refresh kernel patch,
- fix checkpatch warnings in mach-dragino2.c]
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 38587
It is for Mikrotik devices only, rename the subtarget
to reflect that. Also fix the wget2nand script to use
the new image names.
Based on the patch by Stefan Agner:
http://patchwork.openwrt.org/patch/4123/
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 38509
The nand subtarget supports Mikrotik boards only. Change
the title and the description to reflect that.
Based on the patch by Stefan Agner:
http://patchwork.openwrt.org/patch/4123/
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 38508
Ensure that menuconfig shows the correct help text for
subtargets.
Based on the patch by Stefan Agner:
http://patchwork.openwrt.org/patch/4123/
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 38507
Both Allnet and OpenMesh sysupgrade uses fw_setenv from uboot-envtools to
change different settings in the uboot environment. uboot-envtools version
2013.01 introduced a filesystem lock "/var/lock/fw_printenv.lock" to guarantee
mutually exclusive access to the uboot environment. But the path /var doesn't
exist on the sysupgrade ramfs.
An upgrade on these devices fails since r36033 ("[package] uboot-envtools:
upgrade to version 2013.01.01") with following messages:
Error opening lock file /var/lock/fw_printenv.lock
failed to update U-Boot environment
Creating the "/var/lock" path before running fw_setenv is therefore a
requirement unless the locking functionality in fw_setenv is removed or
replaced with optional locking.
Signed-off-by: Sven Eckelmann <sven@open-mesh.com>
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 38483
Fixes the 5 GHz LED.
The same function has no effect on the 2.4 GHz LED at all, so we might
as well remove it.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 38482
Fix the image building code so that the kernel correctly
distinguishes between hardware revisions.
Signed-off-by: Mads Hansen <d@taba.se>
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 38192
This patch adds support for the hardware slide switch on
the TL-MR3040 v2.
Signed-off-by: Mads Hansen <d@taba.se>
[juhosg: use EV_SW instead of EV_KEY]
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 38190
Remove the kernel and rootfs partitions. The Seama
parser can find those automatically:
0x000000070000-0x000000ff0000 : "firmware"
2 seama-fw partitions found on MTD device firmware
0x000000070000-0x0000001b0000 : "kernel"
0x0000001b0000-0x000000ff0000 : "rootfs"
mtd: partition "rootfs" set to be root filesystem
1 squashfs-split partitions found on MTD device rootfs
0x000000360000-0x000000ff0000 : "rootfs_data"
0x000000ff0000-0x000001000000 : "radiocfg"
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 38155
- append the root squashfs directly after the kernel,
- use the 64kraw/128kraw template instead of the 64k/128k,
- ensure that the generated images have enough erase blocks
for JFFS2 garbage collection,
Tested on WZR-HP-G300NH and WZR-600DHP boards.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 38153
The Image/Build/WZRHP64K and the Image/Build/WZRHP128K macros
are similar. Move the common stuff into the Image/Build/WZRHP
macro and update the orignal macros to use that.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 38152