FAQ
Whether you are a beginner or an experienced developer, you may encounter some questions or difficulties when using the development board. We hope to provide you with answers to common questions about the LuckFox Pico series development boards through this FAQ document, making it easier for you to develop and experiment.
What system does LuckFox-Pico and LuckFox-Pico-Plus use?
Answer: Supports busybox, buildroot, and Ubuntu 22.04.
The computer can display the drive letter of the TF card, but SocToolKit cannot recognize the TF card.
Answer: Run the software as an administrator by right-clicking and then insert the TF card. If it still cannot be recognized, close the antivirus software and redownload the software.
During programming, it shows OEM not successful.
Answer: The TF card capacity is too small; it is recommended to use a TF card of 8GB or more.
When using SocToolKit to flash firmware for Luckfox Pico, it shows that the luckfox pico\image\media.img file does not exist.
Answer: Luckfox Pico only supports TF card boot and needs to be burned with a card reader.
LuckFox Pico Plus/Pro/Max/Mini B users may encounter a discrepancy between the system size and the SD card capacity when using the buildroot SD card version of the system.
Answer: To compile the image yourself, first configure the `.mk` file in the SDK. The default setting is 8GB, and the resizefs executed at boot will resize the system based on the size configured in the `.mk` file.
When installing the TF card on the Luckfox Pico development board and connecting it to the computer, SocToolKit shows Maskrom mode, and the program cannot be burned.
Answer: Luckfox Pico only supports TF card boot. Use a card reader to burn it according to the tutorial steps, then install it on the development board to start the system.
cannot connect to 172.32.0.93:5555: The attempt to connect failed due to the fact that the connected party did not properly respond after a period of time, or the established connection failed because the connected host has failed to respond.
Answer: Configure the RNDIS virtual network interface.
The serial module is wired correctly, the baud rate is correct, but the serial window does not print logs.
Answer: Ensure level compatibility; Luckfox-Pico operates at 3.3V logic level and requires the serial module to communicate with 3.3V voltage level.
Luckfox-Pico and Luckfox-Pico-Mini/Plus are listed as having 64MB of memory on the official website, but the actual memory is only around 34 MB.
A:[ 0.000000] Memory: 34328K/65536K available (3452K kernel code, 283K rwdata, 1644K rodata, 144K init, 127K bss, 6632K reserved, 24576K cma-reserved)
For Luckfox-Pico-Pro/Max, actual memory is less than 128MB and 256MB. If the camera is not used, you can release running memory by modifying 66M to 1M.
- Taking Luckfox-Pico-Pro as an example, the modification is as follows:
After connecting Luckfox-Pico-Plus/Pro/Max to the serial port, the device always sends "udhcpc: sending discover."
Answer: If the network cable is not connected, "udhcpc: sending discover" will be logged. Connect the network cable or use the command to kill the process.
# ps | grep udhcpc
248 root 1196 S udhcpc -i eth0
311 root 1192 S grep udhcpc
# kill 248
# udhcpc: received SIGTERMThe factory image cannot open PWM, UART, and IIC for the first use.
Answer: The factory image is mainly for testing GPIO functionality. You need to burn the image from the online repository yourself.
Can cross-compilation be performed on the development board?
Answer: You must use the cross-compilation tools in the SDK. After cross-compiling on an Ubuntu host or virtual machine, upload it to the development board.
When loading the virtual machine VirtualBox, an error occurs stating "VT-x is disabled in the BIOS for both all CPU modes (VERR_VMX_MSR_ALL_VMX_DI)."
Answer: The reason is that the CPU virtualization technology on the motherboard is not enabled. Follow these steps based on your motherboard model to access the BIOS:
1. For example, on ASUS motherboards, press F2 during startup.
2. Choose Advanced settings.
3. Locate CPU Configuration and set Intel Virtualization Technology to enabled.
4. Finally, press F10 to save the changes and restart the computer.Optimize VLC network streaming.
Answer: VLC software defaults to a 1-second (1000ms=1s) video buffer. You can moderately reduce the buffer time to improve real-time performance, but a delay too low may lead to packet loss or stuttering. It is recommended not to go below 300ms.
- The effect is as follows:
- The effect is as follows:
Which one is the power input pin, VBUS, or VSYS?
Answer: VBUS is connected to the Type-C interface input voltage; VSYS is the main system input voltage, ranging from 4.5V to 5.5V.
The development board can be recognized, but an error occurs during programming: "Error: Write LBA failed, can't read flash id from device."
- Solution: Remove the USB HUB and connect the download cable directly to the computer.
- The SDK copied over fails to compile.
- Solution: Due to using the sudo command during the copy process, file permissions may have changed in the SDK. Delete and recopy with regular user permissions.
Solution to compilation error when loading ko driver module in Linux.
① If the SDK has not been successfully compiled or has been cleaned after compilation:
- Solution: Use "./build.sh" to compile all.
②If it is not symlinked to the cross-compiler:
Solution:
make ARCH=arm CROSS_COMPILE=/home/luckfox/Luckfox-Pico/luckfox-pico/tools/linux/toolchain/arm-rockchip830-linux-uclibcgnueabihf/bin/arm-rockchip830-linux-uclibcgnueabihf-
- Solution: Use "./build.sh" to compile all.
Common issues with SDK compilation failures.
Error message indicating missing files and libraries
make -C /home/vy/luckfox-pico/sysdrv/source/kernel ARCH=arm CROSS_COMPILE=arm-rockchip830-linux-uclibcgnueabihf- luckfox_rv1106_linux_defconfig
make[1]: Entering directory '/home/vy/luckfox-pico/sysdrv/source/kernel'
LEX scripts/kconfig/lexer.lex.c
/bin/sh: 1: flex: not found
make[2]: *** [scripts/Makefile.host:9:scripts/kconfig/lexer.lex.c] 错误 127
make[1]: *** [Makefile:627: luckfox_rv1106_linux_defconfig] Error 2
make[1]: Leaving directory '/home/vy/luckfox-pico/sysdrv/source/kernel'
make: *** [Makefile:429: kernel] Error 2
make: Leaving directory '/home/vy/luckfox-pico/sysdrv'
[build.sh:error] Running build_sysdrv failed!
[build.sh:error] exit code 2 from line 653:
[build.sh:info] make -C ${SDK_SYSDRV_DIR}
vy@vy-virtual-machine:~/luckfox-pico$Solution: The error indicates that dependencies are missing. Re-run the command `sudo apt-get install -y git ssh make gcc gcc-multilib g++-multilib module-assistant expect g++ gawk texinfo libssl-dev bison flex fakeroot cmake unzip gperf autoconf device-tree-compiler libncurses5-dev pkg-config bc python-is-python3 passwd openssl openssh-server openssh-client vim file cpio rsync`
Buildroot compilation failure
Solution:
During the compilation of Buildroot, network issues may cause relevant installation packages to not download completely, resulting in missing files. Delete `luckfox-pico/sysdrv/source/buildroot/buildroot-2023.02.6/output/`, download the SDK's dl installation package, copy your own SDK, and recompile.
Docker-related issues.
Running the Docker container compilation fails with the copied Wiki command
sudo docker run -it --name luckfox --privileged -v /home/ubuntu/luckfox-pico:/home luckfoxtech/luckfox_pico:1.0 /bin/bash
, as it cannot find the relevant directory. (Or when I use Ubuntu 20.04, there is no build.sh file in the home directory after starting Docker.)Solution:
Run the Docker container using your actual absolute path, `sudo docker run -it --name luckfox --privileged -v /home/ubuntu/Luckfox/luckfox-pico:/home luckfoxtech/luckfox_pico:1.0 /bin/bash`Demonstration:
If Python and Samba are not needed in your project, you can remove them from the SDK to free up space.
- Comment out the relevant scripts.
- Comment out the configuration options.
- Comment out the relevant scripts.
Issues related to LCD screen glitches and stripes.
Solution:
i. Re-flash the cloud disk image according to the tutorial. The cloud disk image is configured by default for a
720x720
resolution screen. If your screen is480x480
, wait for the development board to boot successfully, then press the boot button to switch the resolution.ii. Use the
modetest
tool for testing,For details, see theRGB screen "10.2 DRM Testing"modetest -M rockchip -s 70@66:480x480
modetest -M rockchip -s 70@66:720x720
The screen shows green noise.
Solution: Download the latest SDK and compile the image.
RKNN Related Issues
- Error messages "Open ./model/coco_80_labels_list.txt fail!" and "Segmentation fault" when running examples from
luckfox_pico_rknn_example
andluckfox_pico_rkmpi_example
.Cause: The examples need to load dynamic libraries, model files, and configuration files from the designated directory.
Solution: Upload the entire folder generated in the `install` directory after compilation to the board for running the examples.
Note: The model itself requires a lot of storage space, and uploading may fail on spi-nand due to insufficient space. - Error "Segmentation fault" when running examples with a self-trained yolov5 model.
Cause: The inference output structure of the yolov5 model changes depending on the type of input model.
Solution: Modify `model/coco_80_labels_list.txt` with the names of the objects recognized by the model (one object per line) and adjust the `OBJ_CLASS_NUM` definition in `include/postprocess.h` to match the number of recognized object categories. - No error message or output when running RKMPI examples, and the VLC stream shows a time OSD in the top left corner.
Cause: The camera is occupied by the `rkipc` when running the example, and the video stream fetched by VLC comes from the `rkipc` application.
Solution: Execute `RkLunch-stop.sh` to stop the default `rkipc` program in the system, freeing up the camera for the example to use. - Error messages "Cannot allocate memory" and "rknn_init fail!" when running examples.
Cause: Luckfox Pico’s CMA (used by multimedia and RKNN) shares memory, and setting it too large or too small can prevent the program from running successfully.
Solution: Adjust the CMA size by modifying `RK_BOOTARGS_CMA_SIZE` in `.BoardConfig.mk` during image compilation. - Error message "Open ./model/coco_80_labels_list.txt fail!" and object recognition returns
null
when running the yolov5 example.Cause: The `coco_80_labels_list.txt` file did not upload successfully.
Solution: Check if there is enough storage space in the system and verify if the `model/coco_80_labels_list.txt` file was uploaded successfully. - Error message "Out of memory" during example execution.
Cause: Insufficient memory space.
Solution: If using an SD card or eMMC as the system storage medium, a swap partition can be configured. Spi-nand does not support swap partition configuration. - Error message "E RKNN: failed to submit!, op id: 23, op name: ..." when using a self-trained model.
Cause: The self-trained model uses unsupported operators.
Solution: Refer to the documentation for using custom operators. - Whitelist warning appears.
Cause: The whitelist warning is a prompt printed during Opencv-Mobile initialization when detecting the device, performing specific initialization based on the hardware model.
Solution: Ignore the warning. - Error message "Could not open '/lib/ld-uClibc.so.0': No such file or directory" when running examples.
Cause: The RKNN or RKMPI libraries cannot be linked in Ubuntu. The RKNN and RKMPI examples are developed based on Buildroot, and Ubuntu does not support these libraries.
Solution: Use the Buildroot system. - The program exits without entering the loop after printing "load label ./model/coco_80_labels_list.txt".
Cause: An older version of the example was used, which requires mounting the framebuffer device. If no LCD screen is detected, the program will exit.
Solution: Obtain the latest version of the example from the repository, which can run without connecting to a screen and will output results directly to the terminal.