|
From: | Jordan Hayes |
Subject: | Re: [Discuss-gnuradio] NetBSD |
Date: | Sat, 2 Dec 2006 15:02:54 -0800 |
usb_control_msg failed: error sending control message: Input/output errorI haven't tracked this down, but I'd be interested in fixing it. I suspect it's either something missing in NetBSD or some OS-dependent code that isn't properly abstracted. I think it might be coming from libusb, but I really don't know - the error message is a bit lame. If you can figure out the call chain that results in the error (perhaps with ktrace on the simplest program that provokes it), that would be helpful.
Ok, I put a few printfs in there. You're right: the error message comes from libusb, but the "usb_control_msg" part comes from usrp/host/lib/usrp_prims.cc in the function write_cmd() and the args are rType=8 val=87 index=0 len=1 and so that's VRQ_I2C_WRITE so i'm gonna guess that this is the usrp_eeprom_write() call that includes this code:
// The simplest thing that could possibly work: // all writes are single byte writes. // // We could speed this up using the page write feature, // but we write so infrequently, why bother... while (len-- > 0){ cmd[0] = eeprom_offset++; cmd[1] = *p++; bool r = usrp_i2c_write (udh, i2c_addr, cmd, sizeof (cmd)); mdelay (10); // delay 10ms worst case write time if (!r) return false; } That's a single byte write ...Now: why this is failing and the rest of everything still works, that's up to someone else ...
/jordan
[Prev in Thread] | Current Thread | [Next in Thread] |