0

I am developing a mixed network with wireless connected client computers, via WLAN provided from an access point, driven by CentOS stream 9 (Installation see in this article) for the purpose of a flexible multi point P.O.S. for iPad.

/EDIT/ The network should be built only with identical hardware for both, one server and a couple of clients. It is (Link:) Gigabyte Brix BACE-3000 (2core 1,04GHz, 8GB RAM, 120GB SSD) (Link:) datasheet, with GBit LAN Realtek RTL8111H, custom equipped with Intel Wifi 6E ax210 ngff, mixed both vPro and non vPro version. It is one of the most actual new Intel wifi chips. Linux wifi driver for this card is iwlwifi, Intels hardware driver is iwlwifi-ty-a0-gf-a0-59.ucode. Both server and clients run CentOS stream 9. Server runs with installation of "server without GUI", with mySQL and python3.9, clients are "minimal" installed, with python3.9 only.

iPads for employees P.O.S. screen are independetly from mentioned client PCs connected wireless to server.

A running one-wired-client-version exists since 2014, and now the program itself and the hardware architecture need a complete upgrade, specially after changing fiscal laws for electronic cash systems.

My question is about the possibility to connect wired ethernet printers to each wireless client computers. I don't want to install local printers via CUPS, I ONLY want to talk to printers using network protokols, independently of their capabilities of ethernet or wifi. This addresses mainly to EPSON thermal receipt printers like TM88V (wired) as well as Zebra label printers like TLP2824 Plus (wired) or others.

I have a wireless subnet with IP address range from e.g. ...99.200 to ...99.250 and I want the client attached printers to be part of this IP pool. For wireless printers no problem, e.g. EPSON TM-m30 (wireless).

Each (wired) printer should be able to be addressed completely independent from the fact, on which computer it is connected, unplugged and plugged everywhere, as well as wireless printers can be positioned in the room wherever my customers want to, according (eventually changing) needs in their production process. The one and only configuration central is a webbased tool, where printers are assigned to its tasks, combined with its IP address. From this config the entire program gets its print job routings.

Again, mandatory: I don't want to install a huge wired network with switches a.s.o. Network cables are only accepted in near area of each client computer, only for the purpose, that my customers are able to use their existing hardware such like wired ethernet printers, instead of buying all new wireless equipment.

How this can be achieved ?

I am not very professional in networking, please describe and comment understandable. Thanks a lot in advance.

3
  • Please edit your question and add details about the miniPC's, their OS (Linux? CentOS?), their Wifi hardware (e.g. lspci) and their driver (if under Linux). Also have a look at how to enable four address mode
    – dirkt
    Commented Dec 4, 2021 at 10:57
  • @dirkt right now done adding hardware infos.
    – ddlab
    Commented Dec 4, 2021 at 11:23
  • @dirkt here you'll find output of iw list : ssl.ddpos.de/iw_list.txt . Hope you'll find something useful :-)
    – ddlab
    Commented Dec 4, 2021 at 11:40

1 Answer 1

1

My question is about the possibility to connect wired ethernet printers to each wireless client computers

The problem here is that "normal" WLAN uses something called "three address mode", which prevents a simple solution to that. To simplify a bit, out of the three MAC addresses in each WLAN packet, two are source (access point) addresses, and one is a destination (client) address. That means that another source can go via an AP (with the second source address), so you can wire access points together, but this doesn't work with the clients.

But many WLAN hardware also supports "four address mode". The downside is that those modes don't mix. So both your access point and all clients need to support it, and you cannot have any other devices in your WLAN which don't support it.

However, if your clients are iPads, and you want to connect the printers to the iPads, this might be difficult - I do not know if (and how) you can switch iPads to four address mode.

So what you want may be impossible.

I am not very professional in networking

This looks like a professional P.O.S. system, so why don't get professional help with that?


Unfortunately four-address support is driver specific, but iwlwifi seems to support it.

This line

valid interface combinations:
     * #{ managed } <= 1, #{ AP, P2P-client, P2P-GO } <= 1, #{ P2P-device } <= 1,
       total <= 3, #channels <= 2

says you can only have one "client" ("managed", "station") device with this adapter, so if you need to play around, make sure you have some alternate method of doing something on the computer (keyboard/monitor, or ssh via LAN), because your ssh via WLAN connection may die if you change things. But you probably already ran into this.

The first step is to enable four address mode both on your access point and all devices in the WLAN. Network manager may interfere if you enable this manually, so you either need to figure out how to configure it in Network manager, or disable management (or the complete Network manager).

Once this is working, the second step is to bridge the ethernet with the wireless interface. Again, you can do this manually with something like

ip link add br0 type bridge
ip link set wlan0 master br0
ip link set eth0 master br0
ip link set br0 up

as root (modulo your interface names, and Network manager interference). You may have to re-run the DHCP client, now on br0 instead of wlan0.

You can also do it via Network manager, google.

The outcome of this should be that br0 gets assigned an IP address, and that whatever is behind eth0 (you can use another PC to test, or the printer) also gets an IP address via DHCP.

Once this is working, you can do some fine tuning: Assign a static MAC address to br0, and configure whatever is running your DHCP server (probably your access point) to track or assign DNS names and IP addresses based on MAC address. I recommend to use dnsmasq for this, if it's not already in use.

That way you should be able to access the printers by DNS name, no matter where they are.

(Another option to make this work is to use broadcast-based protocols to access the printers, where printers broadcast their own names, but that depends on how you want to use them).

As you can see, there's lots of details to sort out, which again depend on details of how your system is set up.


Do I have to do the 4addr things, when I give manually fixed IPs to wireless clients eth0 as well as to the printers

You need four address mode to be able to bridge, and to make your printers appear on the WLAN (in layer 2). From then the access point can give IP address (layer 3) to the printers, and you will be able to access the printers, no matter where they are (which is one of your requirements).

If you do not bridge, and if you assign IP address to eth0 on the MiniPCs, then you need to route. Which means at least your access point (and possibly all clients) need correct routes to all devices, and when you move printers, you will have to update those tables (it's not automatic, as with the solution above). Also, you will need at least basic knowledge of how to properly plan and setup such a network, so you are buying yourself more complexity, not less.

"All printers should just appear on the WLAN" only works if you bridge on layer 2, and you need four address mode for that.

5
  • This was helpful, so far I am able to understand. Thanks. As additional info: the wireless clients I mentioned are not the iPads, but miniPCs with WiFi and one ethernet port. Yes, the P.O.S. itself is very professional, specially the capabilities, which surpass a couple of others on the market by far, specially regarding to support of peripheral hardware like scales a.s.o.. Only it is completely wired in its old version until now, only ipads are connected wireless to a regular WLAN router.
    – ddlab
    Commented Dec 4, 2021 at 9:34
  • First success with 4addr settings. It seems to work. With AP running and sudo iw dev wlp2s0 set 4addr on I get answered command failed: Operation not supported (-95). But after sudo nmcli connection down Hotspot it seems to be set. Will continue with further success infos here.
    – ddlab
    Commented Dec 5, 2021 at 9:55
  • Just one question: Do I have to do the 4addr things, when I give manually fixed IPs to wireless clients eth0 as well as to the printers ... of course outside of the DHCPd's IP range ? Then only a bridge in each client computer from wifi to eth0 would be necessary.
    – ddlab
    Commented Dec 5, 2021 at 15:36
  • Thanks for your efforts and extensive explanations. I'll go further into it tomorrow.
    – ddlab
    Commented Dec 5, 2021 at 16:04
  • Since a couple of days I am stuck trying to connect client to AP, see here : unix.stackexchange.com/questions/682699/…
    – ddlab
    Commented Dec 16, 2021 at 10:41

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .