legacv@home:~$

Nook Woes

TL;DR Factory reset your Nook if you’re getting [Errno 22] Invalid argument trying to transfer files from Calibre.

I bought a 7.8” NOOK GlowLight Plus eReader off somebody on eBay for $80 a few months ago. Figured it’d help me read more without being hunched at my laptop, & I had a lot of research papers to read for my cloud paper. Well, it has a slow refresh rate, but it’s a beaut.

Anyways, I use calibre to interface with it, and it normally works like a peach, but at some point for some reason I started getting this when trying to transfer books (on ver. 8.4.0 as well):

calibre, version 8.5.0
ERROR: Error: Error communicating with device

[Errno 22] Invalid argument

Traceback (most recent call last):
  File "calibre\devices\usbms\cli.py", line 55, in put_file
  File "shutil.py", line 200, in copyfileobj
OSError: [Errno 22] Invalid argument

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "calibre\gui2\device.py", line 111, in run
  File "calibre\gui2\device.py", line 662, in _upload_books
  File "calibre\devices\usbms\driver.py", line 330, in upload_books
  File "calibre\devices\usbms\cli.py", line 62, in put_file
  File "shutil.py", line 200, in copyfileobj
OSError: [Errno 22] Invalid argument

Restarting my Nook didn’t work, restarting Calibre & my laptop didn’t work, etc. Dragging files manually didn’t work (“No space on device” even when I still had 5GB available). I don’t suppose it’s a firmware update B&N pushed out, since the reader is so old. I also don’t think it’s a Calibre issue, since I had the issue on 2 different versions & others have been having the same on 7.X as well.

What worked for me was a factory reset of my Nook (as I’m writing this, I’m re-sending all my books from Calibre to my Nook). It’s not ideal, and I wish I had found something more elegant – maybe the root cause. If it happens again, I’ll take a deeper dive, but for now I just need to read about ICS…