Help..... Startlegato.sh dissappeards from /etc/init.d

OK, I’ve made a little progress. I’ve managed to connect to the device in the field, via the customers PC and USB cable.

I see the following things.

  1. legato is not running as above
  2. the startlegato.sh file is not in /etc/init.d/ as above
  3. when I try can cp the file back in, I get the following error “input/output error linux” . I am able to cp the file in as startlegato1.sh… but when I try to rename it I get the same error.
  1. running dmesg I see the following towards the end of the log…aufs au_lkup_dentry:223:chmod[844]: I/O Error, both of real entry and whiteout found, startlegato.sh, err -5

I am not a linux expert… so not sure what this points at… any thoughts?

Maybe you need to use swiflash to recover the module

Hi @jyijyi thanks for the response.

I’ve tried reflashing the mcu…xxxxxx.cwe and my legato.cwe using fwupdate. The re-flashing worked… but it has not restored the startlegato.sh file in /etc/init.d

Is there a way to say format the file system and then re-flash it from Windows (the customer does not have a linux machine).

Factory Reset (using the pushbutton) did not manage to replace the file either.

Did you try swiflash tool to recover it?

Yes, but I think it needs to effectively rewrite all the linux and legato system files? i.e. re-install linux… or something. What is the most original state I can get the modem to?

I think swiflash has a recovery mode to back to default state

Thanks, but I think that is for Linux client. I only have a Windows machine available?

You can download the window version here

http://downloads.sierrawireless.com/tools/swiflash/swiflash.zip

Thanks, but the -reset option does not seem to replace system files? How do I get all system files to be replaced?

Seperately I was wondering if using something like fsck would help solve the problem… but I can’t get that to work as /etc is mounted. Can’t umount it, because it is use…

Any other thoughts?

can it recover the startlegato.sh file?

no the startlegato.sh file is not replaced and just stays as is…

on the system with the fault it does not fix the above problem with startlegato.sh… which is why I need to somehow check/repair
the filesystem…

Reading more into this… It seems to be a problem with the state of the “whiteout” files in relations to the aufs filesystem with is a union filesystem… but I do not know enough about this to work out how to resolve it… Any one here know?

“the startlegato.sh file is not replaced and just stays as is…”

That means the file is there now but not disappears?

Hi have two modems that have been to this customer.

  1. Is still on site and displays the following symptom
    - startlegato.sh is not in the /etc/init.d folder. I cannot copy the file in and get the following error message mentioned earlier

au_lkup_dentry:223:chmod[844]: I/O Error, both of real entry and whiteout found, startlegato.sh, err -5

Reflashing this modem does not resolve this problem, startlegato.sh does not appear and I still get the error when trying to copy the file in

  1. I have a modem here that has been returned from the customer. That when received did not have the startlegato.sh file in the /etc/init.d directory. So the same symptom as the other modem. However I was able to copy in my slightly edited startlegato.sh file into the /etc/init.d directory.
    On this modem reflashing does not replace the startlegato.sh file with the original file and leaves my edited one in place. I was expecting those files to be replaced?

no, reflashing FW will not change the startlegato.sh content.

Thanks for th reply…

But what will? How do I clear everything out and then re flash / install it all without loosing connectivity?

Can I format the device somehow, get the bootloader to run and then re-flash?

How do I recover from this position?

which one do you do swiflash recovery?
modem 1 or modem 2?

I swiflashed (from windows) modem 2. I am still awaitng a time to be able to connect to the customer to try modem 1.

But if modem 2 is not be updated in terms of the file system, I don’t see how it will fix the problem on modem 1?

Thanks,
Karl

after you put back the startlegato.sh to modem 2, is it OK for modem 2 now then ?

For modem 2, yes I can get it to work… Although only manually… i.e. not by re-flashing the modem.

Modem 1 has not been fixable through the re-flashing process. But I’ve just had a session with the customer and after researching the “Union” style filesystem way of managing deleted files etc through whiteout files, I was able to fix the problem… So in case it is useful for others, I detailed a bit of it below.

  1. Basically the problem was that the filesystem which is AUFS and UFS based got itself out of sync. These filesystems allow multiple mapping for the same directories and use .wh file to indicate a file is deleted if one of the two “branches” or source locations are read-only (as they are on the FX30).

  2. However on my modem, it got the two branches out of synch… i.e. the one branch suggested the file (“startlegato.sh” in my case) was deleted (whiteout in the error message) and the other suggested is was present (or “real” in the error message).

  3. This seems to have happened because I was replacing the file on each boot (bad implementation and now fixed). And something went wrong… maybe a power failure?

  4. When I restarted the modem I found this error message in the logs (au_lkup_dentry:223:chmod[844]: I/O Error, both of real entry and whiteout found, startlegato.sh, err -5)

  5. I could not replace, delete, chmod the file… The filesystem would complain as the current state of the file was unresolvable.

  6. The solution was to (spend many hours understanding how the filesystem works :wink: ) and then on the two branches find the .wh (the whiteout file) related to my startlegato.sh and remove it, so that both branches thought the file existed. In my case the .wh was located in /mnt/flash/ufs/etc/init.d. It is hidden so ls -la or similar…

Now that the two branches where in synch again, I could replace/delete/chmod the file again and restore my system by re-flashing it…

Conclusion: I could not find a way to fix the filesystem or general linux problems on the modem using SW provided re-flash, reset.cwe, factory reset methods. None would re create/re install the linux system and the filesystems.

So the only way to resolve the problem was to fix the problem in linux directly.

Lesson: Don’t overwrite files if not required… Other than the flash write cycle limit, the OS and filesystem can get corrupted if the process is (I assume) interrupted…

I hope that saves someone a lot of pain down the line…