mirror of https://github.com/OpenIPC/wiki.git
61 lines
1.5 KiB
Markdown
61 lines
1.5 KiB
Markdown
# OpenIPC Wiki
|
||
[Table of Content](../README.md)
|
||
|
||
How to send files over UART
|
||
---------------------------
|
||
|
||
If SD card reader failt and there is no network configured on your cam, you may need to send a new firmware over UART interface to update the camera.
|
||
|
||
## Sender:
|
||
|
||
1- First we encode the files
|
||
|
||
```bash
|
||
base64 uImage > uImage.b
|
||
```
|
||
|
||
2- Now make sure your com send-file command is, ascii-xfr, this was my connection command line
|
||
|
||
```bash
|
||
picocom -f n -p n -d 8 -b 115200 --send-cmd "ascii-xfr -snv" /dev/ttyUSB0
|
||
|
||
```
|
||
|
||
Normally we want ascii-xfr on the receiving side, but since we don't have it, that -n works around this by maintaining correct line endings.
|
||
|
||
|
||
|
||
## Receiver:
|
||
|
||
3- Now that we've connected, go to the directory where you want the received file.
|
||
```bash
|
||
cd /tmp/
|
||
```
|
||
|
||
4- Start receiving the file by uart
|
||
```bash
|
||
cat > uImage.b
|
||
```
|
||
5- On picocom, I just CTRL+a+s, and enter the full path of the file I'm sending. Once the transfer completes, you'll need to CTRL+c to break that cat.
|
||
|
||
6- Now we decode the file,
|
||
```bash
|
||
base64 -d uImage.b > uImage
|
||
```
|
||
|
||
7- Do whatever you can to verify that file is IDENTICAL to the one you sent, because an ASCII transfer has no checksum protection.
|
||
Openipc had sha512sum, but any checksum command would suffice.
|
||
|
||
|
||
```bash
|
||
sha256sum uImage
|
||
```
|
||
Once you manually confirm the sums match, you can assume the transfer was successful!
|
||
|
||
Repeat for rootfs steps 4,5 & 6, and now you will be able to upgrade with sysupgrade
|
||
|
||
```bash
|
||
sysupgrade --kernel=/tmp/uImage --rootfs=/tmp/rootfs.squashfs --force_ver -z
|
||
```
|
||
|