Realtek ethernet device not able to ping Laserjet printer with direct connection

This printer was working before, not anymore after fresh install. Forgot what I did before to make it work.

after setting up every driver and software I could find, my Laserjet 5000n connected to my Ethernet adapter refuses to ping. I have verified the printer has a static ip address.

but thanks to a user on the Manjaro forum I was able to get insight on the realtek ethernet adaptor:

after running nmcli:

enp3s0: disconnected
        "Realtek RTL8111/8168/8411"
        ethernet (r8169), 44:8A:5B:9A:02:DE, hw, mtu 1500

after installing and running arp-scan:

WARNING: Could not obtain IP address for interface enp3s0. Using 0.0.0.0 for
the source address, which may not be what you want.
Either configure enp3s0 with an IP address, or manually specify the address
with the --arpspa option.
Interface: enp3s0, type: EN10MB, MAC: 44:8a:5b:9a:02:de, IPv4: (none)
ERROR: Could not obtain interface IP address and netmask
ERROR: pcap_lookupnet: enp3s0: no IPv4 address assigned

My Laserjet 5000n by HP uses JetDirect and I have a Realtek Ethernet adapter built into a MSI motherboard.

I tried creating a new network connection for Ethernet, but Manjaro thinks I want to use it for my internet connection and apparently lets me either use the printer or my other wired internet adaptor, but not both. If I select Ethernet for my internet connection, I’m able to print. But I can’t use Firefox for example. That’s because the only way I could give the ethernet device a static ip was through the network configuration app. If I use the internet, the printer stops working, if I use the printer, the internet stops working.

CUPS, KDE add-printer, or HP device setup can’t get anywhere until the Ethernet adaptor is seen as a local network connection to the printer. They’re all agnostic to the configuration of the ethernet adaptor itself. In system settings, I recognized no other option for giving the ethernet adaptor an ip other than designating it as an internet connection to be chosen from. I do not want that.

Is there a best practice for setting up a computer on a fresh install to allow the ethernet port to be connected directly to a printer?
arp-scan suggests to configure the ethernet device with an IP address. I’d like to do that, but the only option I found in Manjaro is to set up ethernet as an internet connection. And even if I wanted to add an arbitrary static ip under ‘ipv4’ and ‘manual’ it is not clear where to put such a static ip in the settings interface, or what ip, subnet, gateway I should enter.

the printer has a subnet of 255.255.255.0 and two more numbers (presumably gateways) of 0.0.0.0
The printer worked 2 days ago, and i can print now, but only if i set up a network and connect to it, at which point my regular internet connection is automatically shut off.

other info about the Realtek ethernet adapter from the output of ‘ip addr show’:

enp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 44:8a:5b:9a:02:de brd ff:ff:ff:ff:ff:ff

I have a hard time understanding the problem described.

The best practice for what usecase? A networkprinter is made to be on the network. If the only connection is one machine then why no connect it via USB ?

Share more of the system to help others help you:

i’m using ethernet because it’s an HP Laserjet 5000n with a Jetdirect ethernet port. There is no USB. This printer has been working under Manjaro for a year, and under Windows before that, simply using the Ethernet adapter on my MSI motherboard on a desktop system.

I don’t understand the problem since when i have performed internet searches on the subject, the only guidelines are “assign static ip to printer in the printer’s own interface” which I have done, and “ping the printer from command line” which I have done, but my issue here is that it is not responding at that step. I have installed the printer with CUPS, gutenprint, foo, generic, etc, and it will only print from my system if i create a new network connection using the ethernet port and activate that network connection in Manjaro. Then Manjaro thinks I want to use that as my internet connection. I can print, which means that the cable works, the printer works, the printer driver works, but my actual internet connection is automatically switched off because Manjaro can only use one adapter as it’s internet connection at a time. I wouldn’t expect this problem to be easy to understand.

To restate in the simplest possible way, I can’t ping a printer that is connected by ethernet directly to my computer using the printer’s static ip using the command: ping 192.168.1.101
The reason is unclear, since this is the basic first step in troubleshooting a ‘printer not available’ issue.

i think i need to set my ethernet port up as a static ip but i don’t know how to do that in a way that doesn’t require it to be used as a connection to the www.

Depending on what you use (I gues KDE/XFCE/Gnome) there is the network manager installed that has a gui to set the ip /subnet for the interface.

So the interface in your case should be set to manual with an IP in 192.168.1.x where x is a number between 1 & 254 with a subnet mask of 255.255.255.0 I suggest 102. (I use Gnome and have an option to set the interface to be used ‘only for resources on its network’ but leaving the gateway blank should be the same. One problem I can’t seem to wrap my head around is how you connect to the internet, is there more then one ethernet ports? do you use wifi?

1 Like

If you don´t use a router or switch, then you need set a static IP adress for your computer.

  1. Which IP address and netmaks did you set your printer to?
  2. What IP address and netmask is your ISP-Modem set to, that connects you to the internet.
  3. To have a working internet you need:
    • Set your computers IP/netmsk in such a way that it can reach your ISP-Modem.
    • Set your DNS properly, else you cant use domain names to connect…
      The Above two points are done automaticaly when you use DHCP.
  4. To be able to connect to your printer at same time as being able to use the Internet:
    • The Printer must be configured to be in the same Network as your computer and ISP-Modem.
      (Same network refers to combination of IP-Address and netmask)

Are you using correct cables?
Because the wiring between a modem/router and a peripheral like a computer, is different as that between 2 peripherals directly…

Crossover Ethernet cables are used to connect two devices of the same type. Like you want to connect two routers or two PCs. Most modern IT equipment can auto-detect that a crossover needs to be made and makes changes to the signal. This is called MDI-X. A crossover LAN cable will connect the receive at one end to the transmit at the other. Care must be taken to identify a crossover cable clearly so it is not used by mistake as this may cause network outages. These cables are sometimes made with a cable that has a red outer sheath.

my setup was fine until i reinstalled Manjaro. I didn’t need to care about my internet connection method, i could use wifi, cellular tethering, etc. the printer was working. Now I can’t ping it until i create a network connection for my ethernet adapter port and connect that network. When I activate that adapter, Manjaro seems to think I am choosing it as my internet connection.

I just fired up fedora to try pinging the printer, it doesn’t work either, and there’s not even a network page in the settings, think I’m going to uninstall that OS.

@rek , please provide the output of both commands:

ip addr
ip route

And mention in what mode you have them configured, Manual/DHCP.

I’ll be back tomorrow if others have not helped you with that info in mean time…
:vulcan_salute:

I am using the correct cable. I’ve been using the same cable and printer for several years, both under windows and lately (1+ years) Manjaro. Good info though for other readers!

The printer has always been working over the years. It works right now, but only if I create a new ethernet device in the Printer setup in KDE Plasma’s settings, give the adapter a static ip, but here’s the key, I then need to go to the taskbar and “connect” it as my internet connection. Otherwise, the ethernet card and the printer won’t talk together.

I reinstalled Manjaro 2 days ago, I forgot what the trick was to assign a static ip to my ethernet card, or as Keruskerfuerst said “set a static IP address for” the computer. are the two the same? can I just set a static ip for my ethernet card? kind of. but the KDE Plasma GUI app for doing it is not translating very well to my understanding.

by the way, not blaming manjaro, linux, kde, whoever. most people use usb printers and throw away stuff like the printer i have.

If I solve this, I’ll definitely share exactly what the issue was.

1 Like

I think you are mistaking “Selecting the IP address of your Printer” with “creating a ethernet device”…
Anyhow provide the output of those two commands i gave and work from there…

ip addr
...
2: enp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 44:8a:5b:9a:02:de brd ff:ff:ff:ff:ff:ff
...

and ip route shows nothing with respect to my Realtek Ethernet Adapter (enp3s0)

more telling were these two commands:
nmcli:

enp3s0: disconnected
        "Realtek RTL8111/8168/8411"
        ethernet (r8169), 44:8A:5B:9A:02:DE, hw, mtu 1500

and:

arp-scan --localnet                                                                     ✔  6s  
WARNING: Could not obtain IP address for interface enp3s0. Using 0.0.0.0 for
the source address, which may not be what you want.
Either configure enp3s0 with an IP address, or manually specify the address
with the --arpspa option.
Interface: enp3s0, type: EN10MB, MAC: 44:8a:5b:9a:02:de, IPv4: (none)
ERROR: Could not obtain interface IP address and netmask
ERROR: pcap_lookupnet: enp3s0: no IPv4 address assigned

i might be very close to solving this with the --arpspa option, but I don’t know how to do that since today is the first time i’ve ever seen the program arp-scan.

basically my ethernet port isn’t assigned right now to do anything, that’s at least my suspicion. some command, either by me or some software, needs to tell it what to do. The internal printer spooler should be told to use it otherwise how would the system know where to send those packets? The question is where does the responsibility lie with regard to satisfying that prerequisite? I’d simply check the box if there was one to check.

edit:

I think I solved the problem. The reason I couldn’t ping the printer was because a new connection needed to be created in the Connections Applet. I am sure I tried both the ‘wired ethernet’ and ‘wired ethernet (shared)’ options before, and although both technically work, the (shared) one was the answer. I set the method to ‘manual’ (which i did about 100 times already) and +Add an arbitrary ip address similar to my printer’s static ip. Also there’s a check box on the Connections-System Settings applet that says “IPv4 is required for this connection” which I left unchecked. Hey it’s a 30 year old HP Laserjet 5000n. Not sure why this didn’t work yesterday but it works right now. Will update if necessary. Thanks folks!

edit:
ok premature celebration. still not fixed. will update.

If you keep providing info you think might be relevant instead of what is asked, by cutting out stuff, no one will be able to assist.
There are reasons why i asked for complete output of both…

:vulcan_salute:

But yes, you need Connections Settings…

1 Like

Did you previously set things in the HOSTS file maybe?
That file disappears if you reinstall the system.
Just a thought… 8)

1 Like

If you cannot ping your device - you have a network issue.

No amount of advise otherwise is going to fix that.

Please fix your network setup.

ok, weird but i have reached a new level in understanding, this is really weird to me:

i thought i was setting up a permanent network connection for my printer in network manager, but it does not remember the connection is supposed to stay connected. i need to manually press “connect” in the network settings icon on the task bar every time i power cycle the printer or reboot the computer. i think it’s a little absurd to need to create a startup script to do this, i don’t remember anything being this way before. again, this is a new install. i don’t blame anybody but i don’t think many people on linux using cat-5 cable printers with a crossover wire, so I’m sure this exact use-case has fallen through the cracks. As a side note, I tried to create one single connection for my phone and every time i use that connection the system dynamically generates a new wired connection. maybe it’s a static or dynamic thing. So the network side of things gui-wise is feeling a bit fiddly.

is there an instruction to automatically connect to a network at logon that I’ve missed?

You did not specifically state

→ I am using a direct connection using a cross-over ethernet cable

As this statement would have lead directly to the solution.

That is why you are having issues.

Please see Printing to Brother printer using ethernet cable. / Networking, Server, and Protection / Arch Linux Forums

In short

  • assign a static ip to your ethernet which Is not the same as your wifi.

Then contine with

either

or

  • setup the printer using a static IP matching the chosen network for your ethernet port.
1 Like

Using a direct connection instead of a router with DHCP enabled really requires “advanced” networking knowledge! Don’t underestimate this.

  • This has next to nothing to do with “linux”
  • If your goal is to learn how to network, go ahead.
  • If your goal is to only use this reliable, don’t do this!

While this is indeed possible,

for most users it is advisable to connect 2 devices never directly, but with a cheap router (this costs less than 20€ and works reliably out of the box)

  • Enable dhcp, and set 2 static IPs in the router (for your PC, and for your printer).

By the way:
A crossover cable was needed 20 years ago when 10Mbit cards were used. Nowadays, every device automatically recognizes the cable type and can work with or without crossed wires.

An example in german:
https://www.stummiforum.de/t198438f7-IP-Adresse-Maerklin-CS-wechselt-staendig.html
151 Posts, yet not solved :wink:

Thanks for the link.

I’ve not changed the printer or cable or anything in the year i’ve been using it together with KDE Plasma, but I did seem to forget what I did (or didn’t do) to keep the printer connected for the duration of that time period. I have no memory of needing to set up any extra config for the printer such as is offered by that link. By the way, the only reason I mention KDE Plasma is that I’m using the stock Network Manager’s GUI to manage it.

Also, I’d need to travel to both ends of my long cable that i am using a crossover or not with a magnifying glass, but I probably purchased one knowing that they were historically required for using a printer in this way, and I have been using this old printer this way for 5+ years.

If only I always knew the right key terms to use, I’d be better able to perform internet searches in order to arrive upon the exact solutions to what initially appear to be problems which are almost always user error.

Does the printer have the ability to connect (using display and controls) to your Home Network (router)?
On my Brother printer I connect to home network via printer setup first, it needs Home network password etc. I then query printers network address as given on printers display, and connect to that in printer setup on PC.

I did reach the point where I’m connecting, but I needed to manually connect. …

But just now it dawned on me that I needed to tick the box in the Network Manager GUI in KDE Plasma (as of march 2023) that says “connect automatically with priority…” I just now saw that option. And just now I power cycled the printer and it connected automatically, as per the words of that option. All the troubleshooter links I could find only focused on the “IPV4” area and “Manual” etc. Doh!

long story short, a network connection (shared) needs to be defined in network manager, and under IPV4 in that network, the Method of connection needs to be set ‘Manual’ and an ip of the computer itself needs to be added that doesn’t conflict with anything else, (like the printer for example) it needs the same Netmask as the printer. and finally, under ‘General Configuration’ the option “Connect automatically with priority” needs to be checked.

Hope this helps someone else in the future. (it will probably be me when I again forget how to do it.)

by the way, i got a face palm for asking if i may have forgotten the parameter that i actually did forget. and that parameter was one of the main problems.
this

1 Like