0

After waking from suspend, my Ubuntu 21.04 system had network issues. I'd guess about 50% of IP sockets failed. This included failures of both ssh and ping. By "fail" I mean that a connection attempt blocks, and then eventually times-out. (Aside: maybe ping doesn't use sockets?) I believe all programs that attempted network access encountered the same failure rate.

I've been suspending the system every night for several weeks. Today was the first time I had any problems after resuming.

I rebooted the system, which seems to have solved the problem (at least until it happens again).

After rebooting, I discovered various messages in syslog.

I see the below two lines on every suspend:

Sep  4 09:00:18 hostname kernel: [896165.908582] igc 0000:b0:00.0: no suspend buffer for PTM
Sep  4 09:00:18 hostname kernel: [896165.908589] igc 0000:af:00.0: no suspend buffer for PTM

(Aside: While the above lines refer to events that happened prior to the suspend, I believe the log entries were only created after the system resumed. Consequently, the events actually happened hours before the indicated times.)

And two identical lines on every resume:

Sep  4 09:00:18 hostname kernel: [896166.257107] igc 0000:af:00.0: no suspend buffer for PTM
Sep  4 09:00:18 hostname kernel: [896166.257177] igc 0000:b0:00.0: no suspend buffer for PTM

(Aside: Maybe there are two lines because the system has two built-in NICs?)

And here are the log entries that only occurred on my most recent resume, which is when the network problems started:

Sep  4 09:00:19 hostname kernel: [896168.214463] igc 0000:b0:00.0 enp176s0: Register Dump
Sep  4 09:00:19 hostname kernel: [896168.214467] igc 0000:b0:00.0 enp176s0: Register Name   Value
Sep  4 09:00:19 hostname kernel: [896168.214478] igc 0000:b0:00.0 enp176s0: CTRL            081c0641
Sep  4 09:00:19 hostname kernel: [896168.214481] igc 0000:b0:00.0 enp176s0: STATUS          40380401
Sep  4 09:00:19 hostname kernel: [896168.214483] igc 0000:b0:00.0 enp176s0: CTRL_EXT        10000040
Sep  4 09:00:19 hostname kernel: [896168.214486] igc 0000:b0:00.0 enp176s0: MDIC            18017949
Sep  4 09:00:19 hostname kernel: [896168.214488] igc 0000:b0:00.0 enp176s0: ICR             00000001
Sep  4 09:00:19 hostname kernel: [896168.214490] igc 0000:b0:00.0 enp176s0: RCTL            04408022
Sep  4 09:00:19 hostname kernel: [896168.214497] igc 0000:b0:00.0 enp176s0: RDLEN[0-3]      00001000 00001000 00001000 00001000
Sep  4 09:00:19 hostname kernel: [896168.214504] igc 0000:b0:00.0 enp176s0: RDH[0-3]        00000000 00000000 00000000 00000000
Sep  4 09:00:19 hostname kernel: [896168.214511] igc 0000:b0:00.0 enp176s0: RDT[0-3]        000000ff 000000ff 000000ff 000000ff
Sep  4 09:00:19 hostname kernel: [896168.214518] igc 0000:b0:00.0 enp176s0: RXDCTL[0-3]     02040808 02040808 02040808 02040808
Sep  4 09:00:19 hostname kernel: [896168.214525] igc 0000:b0:00.0 enp176s0: RDBAL[0-3]      2e35d000 51576000 337b2000 29a5b000
Sep  4 09:00:19 hostname kernel: [896168.214532] igc 0000:b0:00.0 enp176s0: RDBAH[0-3]      00000001 00000001 00000002 00000001
Sep  4 09:00:19 hostname kernel: [896168.214534] igc 0000:b0:00.0 enp176s0: TCTL            a50400fa
Sep  4 09:00:19 hostname kernel: [896168.214541] igc 0000:b0:00.0 enp176s0: TDBAL[0-3]      2e35d000 51576000 337b2000 29a5b000
Sep  4 09:00:19 hostname kernel: [896168.214548] igc 0000:b0:00.0 enp176s0: TDBAH[0-3]      00000001 00000002 00000001 00000001
Sep  4 09:00:19 hostname kernel: [896168.214555] igc 0000:b0:00.0 enp176s0: TDLEN[0-3]      00001000 00001000 00001000 00001000
Sep  4 09:00:19 hostname kernel: [896168.214562] igc 0000:b0:00.0 enp176s0: TDH[0-3]        00000007 00000009 00000004 00000000
Sep  4 09:00:19 hostname kernel: [896168.214568] igc 0000:b0:00.0 enp176s0: TDT[0-3]        0000000d 00000011 00000004 00000001
Sep  4 09:00:19 hostname kernel: [896168.214575] igc 0000:b0:00.0 enp176s0: TXDCTL[0-3]     02100108 02100108 02100108 02100108
Sep  4 09:00:19 hostname kernel: [896168.214576] igc 0000:b0:00.0 enp176s0: Reset adapter

And then there were many (over 19,000) entries like the below:

Sep  4 09:01:22 hostname kernel: [896231.189109] igc 0000:b0:00.0 enp176s0: Detected Tx Unit Hang
Sep  4 09:01:22 hostname kernel: [896231.189109]   Tx Queue             <1>
Sep  4 09:01:22 hostname kernel: [896231.189109]   TDH                  <9>
Sep  4 09:01:22 hostname kernel: [896231.189109]   TDT                  <9>
Sep  4 09:01:22 hostname kernel: [896231.189109]   next_to_use          <9>
Sep  4 09:01:22 hostname kernel: [896231.189109]   next_to_clean        <9>
Sep  4 09:01:22 hostname kernel: [896231.189109] buffer_info[next_to_clean]
Sep  4 09:01:22 hostname kernel: [896231.189109]   time_stamp           <10d596f4c>
Sep  4 09:01:22 hostname kernel: [896231.189109]   next_to_watch        <000000002b25478e>
Sep  4 09:01:22 hostname kernel: [896231.189109]   jiffies              <10d59ad90>
Sep  4 09:01:22 hostname kernel: [896231.189109]   desc.status          <0>

My question is, other than a full system reboot, is there some way I can manually reset/reboot the network interface from the command line?

The system is a desktop workstation, so I have keyboard access.

After rebooting, I realized that maybe I should try re-suspending and re-waking the system. But I only thought of that after doing the full reboot.

1 Answer 1

2

I encountered the network error again after waking from sleep. This time, I did not reboot, but instead tried the below (fairly obvious) solution:

sudo  ifconfig  enp176s0  down
sudo  systemctl  stop   systemd-networkd
sudo  systemctl  start  systemd-networkd

And my network is working again!

If you encounter the problem:

Replace enp176s0 with the name of your network interface.

Your network manager may be something other than systemd-networkd.

If you use a graphical desktop environment, then instead of the above, you may be able to simply disable and then re-enable networking via a menu on your desktop toolbar.

1
  • ifconfig down / up was sufficient for me. Dec 6, 2022 at 20:44

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.