Loading ...
Sorry, an error occurred while loading the content.

Re: avr with u-boot on ls hg

Expand Messages
  • Michael Weiser
    ... What appears to happen to your setup is that the AVR receives the reboot command from the kernel before passing the control to u-boot. Once the reboot
    Message 1 of 3 , Feb 23, 2007
    View Source
    • 0 Attachment
      On Mon, Feb 19, 2007 at 01:05:32PM +0100, Michael Weiser wrote:

      > > In all cases the power led keeps blinking rapidly, commands sent to the
      > > AVR are ignored and the machine reboots after a few minutes. Also the
      > > minimal console using the power button doesn't work. Otherwise
      > Addendum: When loading a 2.6.20 ppc-based kernel using loader.o, the avr
      > can be initialised manually using echo -n "[[[[" >/dev/ttyS1 and the
      > like. The problem seems to be uboot-specific, not hardware-related.

      Private mail from linuxnotincluded gives the answer:

      ---
      What appears to happen to your setup is that the AVR receives the reboot
      command from the kernel before passing the control to u-boot. Once the
      reboot command is issued to the AVR, there is no going back. The AVR
      _will_ reboot the LinkStation. The power LED blinking fast is what shows
      that the AVR is in this state.

      The problem with uloader is that it attempts to leave as much as
      possible from the shutdown to happen in order for the disks to be shut
      down properly but before the reboot string is sent to the AVR. Depending
      on the original kernel, the assumptions made by uloader may be
      incorrect.

      I will have to look again at the sources about the UART initialisation
      but, as I said before, the AVR will ignore any commands once it receives
      the reboot command. This is why the minimal console doesn't work. The
      buttons are read by the AVR which passes the information to u-boot (or
      to the kernel).

      This doesn't happen when u-boot is in flash because u-boot takes over
      the LinkStation when the AVR has been re-armed and ready to accept
      commands.

      If the AVR is your only problem and everything else works for you, then
      the risk of flashing u-boot is small. Lots of people have done it and I
      haven't heard of any problems. Unfortunately, there are no absolute
      guarantees. Even if you u-boot build is fine, there is always the risk
      of power loss during the flash and there have been reports of defective
      flash chips, fortunately not in the u-boot area.

      If you take the chance and something goes wrong, you can still find
      somebody in your area willing to fix your box for you. You can post the
      question in the Linstationwiki forums and see if there is anyone in your
      area.
      ---

      So I patched uloader:

      --- uloader_mod.c.orig 2006-08-26 15:07:23.000000000 +0200
      +++ uloader_mod.c 2007-02-22 00:18:41.000000000 +0100
      @@ -207,7 +207,8 @@

      if((err = read_file(uboot, &uboot_buf)))
      goto out;
      - register_reboot_notifier(&uloader_notifier);
      + //register_reboot_notifier(&uloader_notifier);
      + load_uboot(va2pa(load_uboot), va2pa(uboot_buf), laddr);
      return 0;
      out:
      free_saved_pages();

      and tried again. The RAM build worked nicely then, so I was comfortable
      flashing the flash build. I've got the box running now with Guennadi's
      powerpc-based 2.6.20 kernel and everything seems to be just fine.
      --
      Micha
      Don't panic!
    Your message has been successfully submitted and would be delivered to recipients shortly.