Step by step guide PXE diskless configuration.
#11
(04-03-2019, 08:36 AM)burglar_ot Wrote: I use the same procedure on Rock64 and Pine64 LTS without any issue, so it seems strange. The UDP checksum is very suspicious for me and it seems related to the TFTP Server. I have to say that I had tons of problems with all the TFTP Server I tried except the one written in Python. What are you using as TFTP?

Ok, tried "py3tftp", the similar issue.
Code:
TFTP from server 192.168.120.100; our IP address is 192.168.120.101
Filename 'pxelinux.cfg/01-22-62-24-29-72-b4'.
Load address: 0x600000
Loading: #
        21.5 KiB/s
done
Bytes transferred = 496 (1f0 hex)
Config file found
1:      rock64
missing environment variable: bootfile
Retrieving file: boot/initrd.img-4.4.167-1161-rockchip-ayufan-g6f1664023387
Speed: 1000, full duplex
Using ethernet@ff540000 device
TFTP from server 192.168.120.100; our IP address is 192.168.120.101
Filename 'boot/initrd.img-4.4.167-1161-rockchip-ayufan-g6f1664023387'.
Load address: 0x4000000
Loading: # UDP wrong checksum 00000800 0000d1d3
UDP wrong checksum 00000800 0000d1d3
UDP wrong checksum 00000810 0000d1d3
UDP wrong checksum 00000008 0000d12d
UDP wrong checksum 00000008 0000d12d
UDP wrong checksum 00000008 0000d12d
UDP wrong checksum 00000008 0000d12d
UDP wrong checksum 00000800 0000cf27
UDP wrong checksum 00003008 00009c6e
UDP wrong checksum 00001808 0000602f
UDP wrong checksum 00001810 0000602f
UDP wrong checksum 00001010 00007979
UDP wrong checksum 00001008 00007979
UDP wrong checksum 00000008 00006dd2
UDP wrong checksum 00000008 00006dd2
UDP wrong checksum 00000008 00006dd2
UDP wrong checksum 00000008 00006dd2
UDP wrong checksum 00000008 00006dd2
UDP wrong checksum 00000008 00006dd2
UDP wrong checksum 00000008 00006dd2
UDP wrong checksum 00000008 00006dd2
UDP wrong checksum 00000008 00006dd2
T T T T

in tftp verbose mode from server side when start boot rock64 via PXE I see next:
Code:
root@rock64:/var/lib/tftpboot# python3 -m py3tftp -p 69 -v
2019-04-04 04:08:47,698 [INFO] Starting TFTP server on 0.0.0.0:69
2019-04-04 04:08:47,699 [DEBUG] Using selector: EpollSelector
2019-04-04 04:08:47,702 [INFO] Listening...
2019-04-04 04:09:16,246 [DEBUG] received: C0A87865.imgoctettimeout5blksize1468
2019-04-04 04:09:16,247 [DEBUG] Request: b'C0A87865.img\x00octet\x00timeout\x005\x00blksize\x001468\x00'
2019-04-04 04:09:16,249 [DEBUG] b'timeout'
2019-04-04 04:09:16,250 [DEBUG] b'blksize'
2019-04-04 04:09:16,251 [DEBUG] packet type: RRQ
2019-04-04 04:09:16,253 [DEBUG] Request: b'C0A87865.img\x00octet\x00timeout\x005\x00blksize\x001468\x00'
2019-04-04 04:09:16,255 [DEBUG] b'timeout'
2019-04-04 04:09:16,256 [DEBUG] b'timeout'
2019-04-04 04:09:16,257 [DEBUG] b'blksize'
2019-04-04 04:09:16,258 [DEBUG] b'blksize'
2019-04-04 04:09:16,259 [INFO] Initiating RRQProtocol with ('192.168.120.101', 3482)
2019-04-04 04:09:16,261 [DEBUG] Initializing file transfer to ('192.168.120.101', 3482)
2019-04-04 04:09:16,263 [DEBUG] Set protocol attributes as {b'ack_timeout': 0.5, b'timeout': 5.0, b'blksize': 1468, b'windowsize': 1}
2019-04-04 04:09:16,264 [ERROR] File "b'C0A87865.img'" does not exist!
2019-04-04 04:09:16,265 [DEBUG] opening pkt: <py3tftp.tftp_packet.TFTPErrPacket object at 0x7f9a9dcfd0>
2019-04-04 04:09:16,267 [INFO] Closing connection to ('192.168.120.101', 3482) due to error. "b'C0A87865.img'" Not transmitted.
2019-04-04 04:09:16,269 [INFO] Connection to 192.168.120.101:3482 terminated
2019-04-04 04:09:16,372 [DEBUG] received: pxelinux.cfg/01-22-62-24-29-72-b4octettimeout5blksize1468
2019-04-04 04:09:16,372 [DEBUG] Request: b'pxelinux.cfg/01-22-62-24-29-72-b4\x00octet\x00timeout\x005\x00blksize\x001468\x00'
2019-04-04 04:09:16,373 [DEBUG] b'timeout'
2019-04-04 04:09:16,374 [DEBUG] b'blksize'
2019-04-04 04:09:16,374 [DEBUG] packet type: RRQ
2019-04-04 04:09:16,377 [DEBUG] Request: b'pxelinux.cfg/01-22-62-24-29-72-b4\x00octet\x00timeout\x005\x00blksize\x001468\x00'
2019-04-04 04:09:16,378 [DEBUG] b'timeout'
2019-04-04 04:09:16,379 [DEBUG] b'timeout'
2019-04-04 04:09:16,380 [DEBUG] b'blksize'
2019-04-04 04:09:16,381 [DEBUG] b'blksize'
2019-04-04 04:09:16,383 [INFO] Initiating RRQProtocol with ('192.168.120.101', 3609)
2019-04-04 04:09:16,385 [DEBUG] Initializing file transfer to ('192.168.120.101', 3609)
2019-04-04 04:09:16,386 [DEBUG] Set protocol attributes as {b'ack_timeout': 0.5, b'timeout': 5.0, b'blksize': 1468, b'windowsize': 1}
2019-04-04 04:09:16,388 [DEBUG] opening pkt: <py3tftp.tftp_packet.TFTPOckPacket object at 0x7f9a9dcfd0>
2019-04-04 04:09:16,395 [INFO] Connection to 192.168.120.101:3609 terminated
2019-04-04 04:09:16,499 [DEBUG] received: boot/initrd.img-4.4.167-1161-rockchip-ayufan-g6f1664023387octettimeout5blksize1468
2019-04-04 04:09:16,500 [DEBUG] Request: b'boot/initrd.img-4.4.167-1161-rockchip-ayufan-g6f1664023387\x00octet\x00timeout\x005\x00blksize\x001468\x00'
2019-04-04 04:09:16,501 [DEBUG] b'timeout'
2019-04-04 04:09:16,503 [DEBUG] b'blksize'
2019-04-04 04:09:16,504 [DEBUG] packet type: RRQ
2019-04-04 04:09:16,506 [DEBUG] Request: b'boot/initrd.img-4.4.167-1161-rockchip-ayufan-g6f1664023387\x00octet\x00timeout\x005\x00blksize\x001468\x00'
2019-04-04 04:09:16,508 [DEBUG] b'timeout'
2019-04-04 04:09:16,509 [DEBUG] b'timeout'
2019-04-04 04:09:16,510 [DEBUG] b'blksize'
2019-04-04 04:09:16,511 [DEBUG] b'blksize'
2019-04-04 04:09:16,512 [INFO] Initiating RRQProtocol with ('192.168.120.101', 3736)
2019-04-04 04:09:16,514 [DEBUG] Initializing file transfer to ('192.168.120.101', 3736)
2019-04-04 04:09:16,516 [DEBUG] Set protocol attributes as {b'ack_timeout': 0.5, b'timeout': 5.0, b'blksize': 1468, b'windowsize': 1}
2019-04-04 04:09:16,517 [DEBUG] opening pkt: <py3tftp.tftp_packet.TFTPOckPacket object at 0x7f9a9dcef0>
2019-04-04 04:09:28,057 [DEBUG] Ack: b'\x00\x04\x00\n'; is_ack: True; counter: 11
2019-04-04 04:09:28,058 [ERROR] Connection to ('192.168.120.101', 3736) timed out, "b'boot/initrd.img-4.4.167-1161-rockchip-ayufan-g6f1664023387'" not transfered
2019-04-04 04:09:28,060 [INFO] Connection to 192.168.120.101:3736 terminated

Also, I tested get file (via this tftp) from other remote board, no issues and in tftp log I see next:
Code:
2019-04-04 04:16:13,732 [DEBUG] received: boot/initrd.img-4.4.167-1161-rockchip-ayufan-g6f1664023387netascii
2019-04-04 04:16:13,733 [DEBUG] Request: b'boot/initrd.img-4.4.167-1161-rockchip-ayufan-g6f1664023387\x00netascii\x00'
2019-04-04 04:16:13,735 [DEBUG] packet type: RRQ
2019-04-04 04:16:13,737 [DEBUG] Request: b'boot/initrd.img-4.4.167-1161-rockchip-ayufan-g6f1664023387\x00netascii\x00'
2019-04-04 04:16:13,739 [INFO] Initiating RRQProtocol with ('192.168.120.5', 52327)
2019-04-04 04:16:13,741 [DEBUG] Initializing file transfer to ('192.168.120.5', 52327)
2019-04-04 04:16:13,742 [DEBUG] Set protocol attributes as {b'ack_timeout': 0.5, b'timeout': 3.0, b'blksize': 512, b'windowsize': 1}
2019-04-04 04:16:13,744 [DEBUG] opening pkt: <py3tftp.tftp_packet.TFTPDatPacket object at 0x7f9a9dcfd0>
2019-04-04 04:16:36,251 [INFO] Connection to 192.168.120.5:52327 terminated

and I received the same file (the same side) via tftp.

so, no idea why it's happening and not working Sad
  Reply
#12
Ok, seems I found the issue...
I tried the same method on other 2nd rock64 board and it's WORKS without any issues!
on 3rd rock64 board it works but time to time I see messages about "UDP wrong checksum". After I defined on switch (tl-108e) speed 100MF - no issues.
I tried define speed to 10 and 100 for problem board - no luck Sad Also changing ethernet cable didn't solve issue. Seems this is hardware issue with this board Sad But it's strange. If board loaded from SD card - no issues with ethernet, everything works well.
  Reply
#13
(04-03-2019, 11:54 AM)knyaz2020 Wrote:
(04-03-2019, 08:36 AM)burglar_ot Wrote: I use the same procedure on Rock64 and Pine64 LTS without any issue, so it seems strange. The UDP checksum is very suspicious for me and it seems related to the TFTP Server. I have to say that I had tons of problems with all the TFTP Server I tried except the one written in Python. What are you using as TFTP?

I tried tftpd-hpa and ftpd (via xinetd) with different versions and on different boards (Raspberry Pi 3 B+ and from Rock64 board). In all cases have the same issue "UDP wrong checksum".
Could you give me URL on tftp server which written on Python?
Thank you.

I had the same issue with both these sever (and many others). The only one that always works is py3tftp that you can install with:
pip3 install py3tftp
once installed you simply go in the tftp directory and execute it as py3tftp -p 69
  Reply
#14
Thanks for this! One correction though, the SPI is actually 128Mbit (16MB).

Cheers!
  Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  Beginners Guide: Migrating to SSD rontant 18 39,648 01-19-2022, 09:30 AM
Last Post: Ellesar Dragon
Information Beginners Guide: Adding USB Storage, Linux Formatting and Permissions Ptheven 4 12,220 03-06-2021, 01:49 PM
Last Post: helpmerock
Thumbs Up A guide for how I made RetroPie, RetroArch, and EmulationStation Work on the Rock64 Mrfixit2001 4 16,025 12-17-2018, 03:52 AM
Last Post: va88
  Guide - XRDP - Debian Stretch / Ubuntu Xenial / OMV S3phi40T 3 13,958 05-05-2018, 06:08 AM
Last Post: S3phi40T
Information Guide - Raid Array (Raid 0) Ptheven 0 4,809 10-07-2017, 09:22 AM
Last Post: Ptheven
Information Guide - Setting up a NFS Share Ptheven 0 5,461 09-26-2017, 04:44 AM
Last Post: Ptheven
  Guide - Setting up a SMB(Windows) file server Ptheven 0 12,568 08-21-2017, 08:54 AM
Last Post: Ptheven
Information Beginners Guide: Locating your board, connecting to it. Ptheven 5 15,844 08-21-2017, 04:12 AM
Last Post: Ptheven

Forum Jump:


Users browsing this thread: 1 Guest(s)