View Single Post
Old 09-04-2008, 09:33 PM   #19
nrapallo
GuteBook/Mobi2IMP Creator
nrapallo ought to be getting tired of karma fortunes by now.nrapallo ought to be getting tired of karma fortunes by now.nrapallo ought to be getting tired of karma fortunes by now.nrapallo ought to be getting tired of karma fortunes by now.nrapallo ought to be getting tired of karma fortunes by now.nrapallo ought to be getting tired of karma fortunes by now.nrapallo ought to be getting tired of karma fortunes by now.nrapallo ought to be getting tired of karma fortunes by now.nrapallo ought to be getting tired of karma fortunes by now.nrapallo ought to be getting tired of karma fortunes by now.nrapallo ought to be getting tired of karma fortunes by now.
 
nrapallo's Avatar
 
Posts: 2,958
Karma: 2530691
Join Date: Dec 2007
Location: Toronto, Canada
Device: REB1200 EBW1150 Device: T1 NSTG iLiad_v2 NC Device: Asus_TF Next1 WPDN
Quote:
Originally Posted by derrell View Post
eb1150 is connecting to 127.0.0.1:9090

I was looking at the code in proxy1150.cpp and this looks like it should prevent any data that is 0 bytes being sent. Once it finds the end of the string it should close the socket, I think. Maybe some of the data coming out of impserve isn't null terminated.
I think there is something really weird going on with your if statement above and impserve! It may be that eb1150 is lacking something in this situation.

I tried to debug eb1150 (by placing debug printf's after each if segment to print the data); this is the code I used:
Code:
      if (data.length() > 0) {

	// Parse and dispatch to the proxy methods      
	if (data.find("gethostbyname") != string::npos) {
cout << "1: " << data << " gethostname\n";
	  gethostbyname(data);

	} else if (data.find("socket") != string::npos) {

cout << "2: " << data << " socket\n";
	  socket(data);

	} else if (data.find("connect") != string::npos) {
	  
cout << "3: " << data << " connect\n";
	  connect(data);

	} else if (data.find("send") != string::npos) {

cout << "4: " << data << " send\n";
	  send(data);

	} else if (data.find("recv") != string::npos) {
	
cout << "5: " << data << " recv\n";
	  recv(data);

	} else if (data.find("close") != string::npos) {

cout << "6: " << data << " close\n";
	  close(data);

	}

      }
I don't understand where all those 0 byte(s) items are being sent from. I tried closing the socket once the 0's showed up, but to no avail. Please note that I numerically ordered the printf's and saw that for (some) transfers the order was 2,3,4,5,6,5 with the last 5 after a close (6) and thus would produce a recv errno = 9.

Now where to look further...

BTW, I think I remember seeing all those 0 byte message when first using Linreb with hyperlinks to the internet, so it may very well be a eb1150 (linux usb driver) issue.

Is there a way to use the ETI (windows) usb driver with wine and bypass eb1150?
nrapallo is offline   Reply With Quote