On Wed, 25 Nov 2020 19:18:43 +0300 Reco <recovery...@enotuniq.net> wrote:
> On Wed, Nov 25, 2020 at 10:31:55AM -0500, Celejar wrote: > > On Wed, 25 Nov 2020 17:43:00 +0300 > > Reco <recovery...@enotuniq.net> wrote: > > > > > On Wed, Nov 25, 2020 at 09:19:08AM -0500, Celejar wrote: > > > > On Wed, 25 Nov 2020 10:42:59 +0300 > > > > Reco <recovery...@enotuniq.net> wrote: > > > > > > > > > On Tue, Nov 24, 2020 at 03:06:59PM -0800, pe...@easthope.ca wrote: > > > > > > This is the only oddity evident after ifup wlxa0f3c10a28f7. > > > > > > > > > > > > DHCPDISCOVER on wlxa0f3c10a28f7 to 255.255.255.255 port 67 > > > > > > interval 3 > > > > > > send_packet: No buffer space available > > > > > > dhclient.c:2445: Failed to send 300 byte long packet over > > > > > > wlxa0f3c10a28f7 interface. > > > > > > > > > > > > Nevertheless, after a few more lines from DHCP the link works. > > > > > > Any ideas about buffer space? > > > > > > > > > > The kernel has no free RAM to queue a packet or that Tp-Link device > > > > > you're is using low-quality kernel module. Happens with Tp-Link, but > > > > > > > > With TP-Link? Aren't they just using other manufacturers' chipsets? > > > > > > The hardware is definitely OEM'ed. The firmware is most likely theirs. > > > > Really? I thought that network drivers load firmware based solely on > > the chipset. > > It's more complicated than this. For instance, to identify a NIC chip > you need something that responds to said identification. > > To put it simple, to load a firmware you need something to accept it. > Some chips (ESP, nRF to name a few) allow you to write a firmware, but > can hide lower-level functions like actual frame sending (i.e. - blobs > in SDK). I.e. you provide a chip a tiny, yet complete OS, because > otherwise all you have a chip that cannot even boot. From the host POV > you just put some bits on a appropriate bus and hope that the other > side is something you expect it to be. An example - [1]. > > Some chips (Broadcom, Realtek or Intel, for instance), have an OS part > baked-in (or, very rarely - stored at EEPROM), and payload (i.e. > application-level software) needs to be loaded by host. And that my > "firmware" statement was referred to a part that's baked-in, not a blob > from linux-firmware. After all, A0:F3:C1 in that NIC above is Tp-Link, > not Realtek. Thanks for the detailed explanation, although I'm afraid that it's still a little above my head. So when you referred above to a "low-quality kernel module," you weren't referring to the linux kernel, but something that TP-Link installs onto their products? Celejar