[mythtv-users] Cheap frontend for HD

Jim Stichnoth stichnot at gmail.com
Tue Jul 14 16:17:38 UTC 2015


On Wed, Jul 1, 2015 at 5:48 AM, Jim Stichnoth <stichnot at gmail.com> wrote:

> On Tue, Jun 30, 2015 at 12:28 PM, Warpme <warpme at o2.pl> wrote:
>
>> On 30/06/15 21:08, Ozzy Lash wrote:
>>
>>>
>>>
>>> Jim,
>>>
>>>     I tested 2 UEFI based frontends (NUC, fast i5) and E2100 (really
>>>     slow 1GHz Kabini).
>>>     On both HTTP download 160MB OS image is mater of 2-3sec over GE LAN.
>>>     What NIC LIVA has?
>>>
>>>
>>> Looks like it is a Realtek:
>>>
>>> 03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd.
>>> RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 0c)
>>>
>>>
>>>  Then I think iPXE for TCP based comm. should go comparable to my E2100.
>> E2100 has:
>> 03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168
>> PCI Express Gigabit Ethernet controller (rev 06)
>> 10ec:8168 (rev 06), Subsystem: 1458:e000
>> In my case 160MB download takes 1.3-1.5sec
>>
>> Thanks.  I'll try chainloading with iPXE (but after returning from
> vacation...).
>
> There doesn't seem to be anything inherently wrong with my network or tftp
> setup, since tftp and everything else are fast once booted up.  Probably
> it's a problem with the LIVA's firmware implementation of tftp, which
> hopefully iPXE will avoid.
>
> Finally got a chance to dig into this some more.

I ran wireshark on the tftp traffic and found that the client packet
processing takes longer and longer as the number of packets grows.  In
fact, the packet processing times fit very cleanly into a quadratic curve.
Probably the network firmware is recopying the entire file each time a new
packet arrives, which doesn't go so well when the initrd.img file is 14,000
packets.  Programmers these days!

I tried changing tftp server blocksize options, but they seem only able to
affect the maximum block size, whereas I'd like to set a minimum block
size.  Dead end there.

iPXE over http worked very well, after stumbling to figure out some
details.  First, I needed to make the bin-x86_64-efi/ipxe.efi target, given
that the ECS Liva requires UEFI booting.  Second, I had to watch the iPXE
output very carefully because on the Liva, boot failures often jump
immediately into the BIOS settings screen, so if you blink you can miss the
error.

In the end, loading the 6MB kernel and 20MB initrd.img files over http
takes a fraction of a second, which is awesome.  I'm not planning to use
chainloading, instead I'll build ipxe.efi with some embedded script, once I
decide on the best way to manage 4 to 8 pxe-booting frontends.

Thanks for all the suggestions!

Jim
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mythtv.org/pipermail/mythtv-users/attachments/20150714/ced61aa5/attachment.html>


More information about the mythtv-users mailing list