-
-
Notifications
You must be signed in to change notification settings - Fork 88
Closed
Description
On my Linux machine the following program fails if it has no IP (i.e. WiFi off, Ethernet unplugged) (it is replicatable on several machines):
import seabreeze
seabreeze.use("pyseabreeze")
import seabreeze.spectrometers
print("opening...")
spec = seabreeze.spectrometers.Spectrometer.from_first_available()
print("found serial", spec.serial_number)
print("closing...")
spec.close()I get the following exception instead of successfully printing the serial number of my USB-attached FLAME-S:
Traceback (most recent call last):
File "~/Desktop/test.py", line 6, in <module>
spec = seabreeze.spectrometers.Spectrometer.from_first_available()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/nix/store/hhdgnc20la4fmdiq8lwa91mc5b2fw7z7-python3-3.12.11-env/lib/python3.12/site-packages/seabreeze/spectrometers.py", line 146, in from_first_available
for dev in list_devices():
^^^^^^^^^^^^^^
File "/nix/store/hhdgnc20la4fmdiq8lwa91mc5b2fw7z7-python3-3.12.11-env/lib/python3.12/site-packages/seabreeze/spectrometers.py", line 77, in list_devices
return api.list_devices()
^^^^^^^^^^^^^^^^^^
File "/nix/store/hhdgnc20la4fmdiq8lwa91mc5b2fw7z7-python3-3.12.11-env/lib/python3.12/site-packages/seabreeze/pyseabreeze/api.py", line 137, in list_devices
for ipv4_dev in IPv4Transport.list_devices(**self._kwargs):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/nix/store/hhdgnc20la4fmdiq8lwa91mc5b2fw7z7-python3-3.12.11-env/lib/python3.12/site-packages/seabreeze/pyseabreeze/transport.py", line 557, in list_devices
sock.setsockopt(socket.IPPROTO_IP, socket.IP_ADD_MEMBERSHIP, mreq)
OSError: [Errno 19] No such device
Some network stats in this state:
$ route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
$ ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: enp0s31f6: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel state DOWN group default qlen 1000
link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
3: wlp0s20f3: <BROADCAST,MULTICAST> mtu 1500 qdisc mq state DOWN group default qlen 1000
link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
Metadata
Metadata
Assignees
Labels
No labels