The driver is 75% TK2 networking code (by T Tebby) pulled straight from the SMSQe source repository - with adjustments to the 'physical' driver to use the new 'MQSvr' THinG, which in turn communicates with the QLUB Adapter. My thanks once again to TT and the Sinclair team for an incredibly simple, but effective network design - we stand on the shoulders of giants

Thanks also to all those who provided feedback and encouragement during testing of the earlier QLUB releases...
The ND-MQ driver allows such things as SBYTES 'NETo_x'/LBYTES 'NETi_y' to transfer a binary file between the emulator and a peer QL, or even more conveniently, running TK2's FSERVE Job in the emulated QL to serve files to the peer QL - all over the standard QLNet wiring via the QLUB.
Prior to this release, it had been necessary to use an SBasic program (SendFileMQ_bas or gbejniet's Python equivalent) to communicate with the QLUB Adapter, effectively synthesising the MQ commands needed to implement the transfer. It is still possible to use the QLUB with SendFileMQ if desired, but NOT concurrent with the ND-MQ driver being active, as they both attempt to open the virtual COM Port via SERx and only the first will succeed.
For anyone lucky enough to have already purchased a pre-built QLUB Adapter from Chr$ - or, having built oneself - is keen to try out the new driver, I provide the required files (in ZIP form) and some brief notes below to get you going:
1. A revised microcontroller firmware (v2.3L): 'QLAN-USB_v23l.ino', plus corresponding pre-compiled HEX file 'QLAN-USB_v23l.ino.TEENSY2PP.hex' - use one OR the other to flash the QLUB Adapter to support the new 'synchronous mode' needed by ND-MQ.
2. The ND-MQ driver itself (v1.01): 'ndmq_v101_bin' - simply unzip and load/activate with a simple LRESPR within the emulated QL environment.
3. Some simple SBasic procedures to ease loading/managing the driver: 'loadNDMQ_bas' - note that none of these SBasic routines are actually required to use ND-MQ, after simply LRESPRing the driver binary.
4. (If FSERVE is to be used): TK2 running from ROM (or zero wait-state RAM) on the peer QL - ROM images available elsewhere, if you don't already have TK2 installed on the peer QL (why ever not?)
I also include two documents within the ZIP archive, previously shared here in the Forum that you may find helpful:
Networking the QL (Part 1).pdf
QLUB Adapter - DIY Constructors Manual v1.1.pdf
I'll be updating both docs in the coming weeks to reflect the availability of the new ND-MQ driver.
Notes:
a) Both QPC and QEmulator have been tested successfully with ND-MQ - with QEmulator slightly out-performing QPC for reasons I could share another time. I welcome feedback from anyone testing ND-MQ - especially under u/sQLux.
b) Occasionally, the QLUB can get 'out of sync' with the ND-MQ driver and the only way to restore service is to restart the emulator and re-load the driver. This may be improved in a future release.
c) Broadcast Receive (NETi_0) is NOT currently supported by ND-MQ (though SENDing a Broadcast should work). Broadcast Receive is, arguably, of limited value and will take some careful thought if it is to make it in to a future release.
d) Adapting the network 'Timing Constants' to suit the ZX Net/Spectrum requires a slightly awkward procedure, which I'll also improve in a future release - A small SBasic procedure (UpdateNET_TP, included in 'loadNDMQ_bas') can be used to achieve this today.
f) The current design is not especially 'fast', although it performs within 95%+ as compared to typical QL-to-QL network speeds - were you to analyse the NET port using a digital logic-probe, you'd notice lengthier 'Gaps' between each successive packet than between real QLs. Again, I'll aim to improve this in a subsequent release.
g) The current driver is hard-coded to communicate with the QLUB via 'SER2', though it is a trivial matter to 'patch' the binary AFTER loading but BEFORE activating by POKEing offset $8F/143d with the ASCII code for the numeric port-number to which your QLUB is attached.
e.g. if the QLUB Adapter is attached via a Virtual COM Port on the host PC to 'SER1' in the QL emulator:
ndmq_base=RESPR(6200): port_os=143
LBYTES "<device>_ndmq_v101.bin", ndmq_base
POKE ndmq_base+port_os, CODE("1")
CALL ndmq_base
The PROCedure 'loadNDMQ', included in 'loadNDMQ_bas' uses this very method. N.B. 'port_os' is highly likely to change between versions!
I have several plans for further enhancements, including adapting the microcontroller firmware for a more modern (and still available!) Teensy develpment-board to supercede the now deprecated Teensy++2.0.
Good luck and happy QL Networking!