OK, so I'm an idiot. EPERM doesn't mean permissions, that's EACCES. EPERM is a "generic error" type of thing, "not permitted" meaning "you just can't do that, dude". Still, it's misleading, and I'm replacing the error codes in stv680.c with ones that I think are more appropriate.

I've tried commenting out some calls to see if subsequent accesses work, and found out that two of the "reads" over the USB wire succeeded, but none of the first 3 "writes". I wonder if it's at all possible that the weak battery has anything to do with my problem. You wouldn't think so when it's drawing power from the USB port, but after removing the battery completely it won't even go to webcam mode, it stays in disk emulation mode and ignores the mode switch. So I'm not sure. I'll go buy some new batteries and try again. I can see it's not going to be easy to work on this driver. All the accesses to the chip are done with numbers, the codes aren't defined nor documented that I can see. 0x88, 0x8a, 0x8b. Whoop-dee-doo. How the fuck is this supposed to be maintained? But I can't blame the author, it's unpaid work and he was writing it to solve his own immediate need, the same as I am. Like a good Boy Scout, I'll try to leave it better than I found it.

Scrounged up another 2 and a half hours of music, so over 4 hours total before hearing the same songs again. It's not good yet, but an improvment nonetheless.

Gonna go get some food, talk to you later.

Back to blog or home page

last updated 2013-01-10 20:28:06. served from tektonic.jcomeau.com