Usage FAQ - FreeWaveTechnologies/ZumIQ GitHub Wiki
This document contains frequently asked questions about using the ZumIQ development environment.
- How do I get to the Linux shell if I log in as "admin"?
- Why is my unit refusing serial connections after I disconnect and reconnect a few times?
- Why can I copy a file larger than 1GB onto the unit, but I can't create one larger than 1GB from the unit?
- I used passwordRestoreDefaults to reset my password, but I still can't log in
- Why does the CLI show me logged in as admin when I enter it using cliBridge from the devuser account?
- Serial communication using Com2 works, but not using Com1 with the same settings
- pip install fails with "No space left on device"
- How do I test for Internet connectivity?
- How do I change my password?
- How do I manually set the time?
Short answer: You can't.
If you log in to the unit as "devuser", you will start in the Linux Bash shell. From there, you can execute the cliBridge command to launch the configuration CLI. If you're in the CLI, you can type exit to return to the Linux shell.
However, if you log in as "admin", you will be taken directly to the CLI. You can type exit again from the CLI, but you'll be dropped back into the device login prompt. Furthermore, even if you elevate your user account from within the CLI (using the CLI's login command), you still won't be able to exit out of the CLI into the Linux shell. There is no way to get from the CLI to the Linux shell if you initially logged into the unit as "admin", by design.
Basically, if you want access to the Linux shell, you must log in to the device as devuser.
This is a limitation of the underlying Debian Linux system. Connection attempts are throttled if too many logins are attempted in a short period of time. The default is 10 logins within 2 minutes. If you get locked out of serial logins, wait at least two minutes before attempting to connect again..
Why can I copy a file larger than 1GB onto the unit, but I can't create one larger than 1GB from the unit?
There is a hard limit of 1GB for all files created or appended within the developer filesystem. This was put in place to prevent a single log file from growing and inadvertently consuming all storage on the device. However, a file larger than 1GB can be copied into the developer filesystem via drag-and-drop from File Explorer, or by uploading from the website.
After executing the passwordRestoreDefaults command, you must reboot the unit for the changes to be applied. Execute reset now in the CLI or power cycle the radio for the password reset to take effect.
Why does the CLI show me logged in as admin when I enter it using cliBridge from the devuser account?
The CLI is always entered under the "admin" account, regardless of what account was used to log in to the device initially. To change users once logged in to the CLI, execute the password command, however at this time there is no difference in CLI functionality when logged in as "devuser" versus "admin".
Com1 does not support hardware flow control. If you're using the CLI or website to configure Com1, you won't be able to turn hardware flow control on. Problems can arise if you've set the port mode to "Setup" and are accessing it programmatically at /dev/ttyO5. In this case, an external application may need to be explicitly configured NOT to use hardware flow control
By default, pip uses /tmp if if needs to build any dependencies, however that partition is only 32MB in size. To work around this, you can direct pip to use a different location in the main partition (which has ~1.1GB free on a clean install) for builds:
mkdir /home/devuser/tmp
pip install <module> -b /home/devuser/tmp
To verify that the unit is connected to the internet, from the Linux Bash prompt, use the ping
command to verify that Google's public DNS server (8.8.8.8) can be reached:
devuser@freewave-ib:~$ ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8): 56 data bytes
64 bytes from 8.8.8.8: icmp_seq=0 ttl=56 time=8.755 ms
64 bytes from 8.8.8.8: icmp_seq=1 ttl=56 time=17.481 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=56 time=11.064 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=56 time=5.472 ms
If this server cannot be reached, check the network settings on the unit and ensure that they match the settings for the connected physical network. If the unit is directly connected to a computer, you will need to ensure that its network interface is connected to another network that has Internet connectivity. This depends on your operating system and potentially corporate IT policies. You may need to contact your IT personnel for assistance.
The Linux command passwd
should not be used to change passwords. Passwords must be changed via the ZumLink CLI to keep them synced between the ZumLink CLI and Linux Bash shell.
1. Login to the CLI. (See Logging In). If you login as "admin", you will already be in the CLI. If you login as "devuser", execute the cliBridge
command to enter the CLI. (See Manually accessing the ZumLink CLI)
NOTE: Regardless of what account you come from, you will always start in the CLI logged in as "admin" (see here).
2. To change the password for the "admin" account, use the password
command with the following syntax:
password <old password>, <new password>, <new password>
for example, to change the default password to "12345"
>password admin,12345,12345
changed password for user admin
RESULT:0:OK
3. To change the password for the "devuser" account, first login to the "devuser" account within the CLI using the login
command:
>login devuser,devuser
RESULT:0:OK
Then change the password as above:
>password devuser,12345,12345
changed password for user devuser
RESULT:0:OK
NOTE: The password is not obfuscated when using the password
command on the CLI.
First of all, the Linux date
command will not work. You will need to set the date from the CLI.
The ZumLink can use either an NTP server or a local clock as its reference. In order to set the date manually, you have to set the reference to the local clock. Use the save
command to save the setting to nonvolatile memory.
>ntp.ntpReference=REFCLK_LOCALCLOCK
>save
>date.time=1561656486 # or another time string - see 'help date.time' for more details