On Thu, Jul 14, 2016 at 2:14 AM, Greg KH <gregkh@xxxxxxxxxxxxxxxxxxx> wrote: > On Wed, Jul 13, 2016 at 10:59:10AM +0530, Malith Yapa wrote: >> I think i am. >> >> int readDword(int addr) { >> >> uint16_t reg[1];// will store read registers values >> >> int num = modbus_read_registers(ctx, addr, 1, reg); //16386 = X2 >> >> usleep(5); >> >> if (num != 1) { >> fprintf(stderr, "Failed(%i) to read: %s\n", num, >> modbus_strerror(errno)); >> modbus_close(ctx); >> modbus_free(ctx); >> sleep(5); >> int wait = 1; >> while(initModbus()) { >> cerr << "Waiting for PLC.. SLEEP[" << wait*20 << "]" << endl; >> sleep(wait*20); >> wait++; >> } >> } >> >> return reg[0]; >> } >> >> according to modbus documentation, "The modbus_close() function shall >> close the connection established with the backend set in the context." >> >> Even if not. Shouldn't the minor number's go upto 512 (as Johan >> pointed out) before giving up? > > Yes it should. > >> The system is an Olimex A20-micro, >> Linux version 3.4.90+ (gcc version 4.7.1 (Debian 4.7.1-7) ) > > Ugh, 3.4 is a very old, and obsolete kernel version. Please get support > for it from the vendor that is forcing you to use such a thing, as you > are already paying for it from them. > > We can help you out if you can reproduce this on 4.6, have you tried > that? > > thanks, > > greg k-h Looks like sunxi only provides a 3.4 kernel. I lack the expertise to try to build 4.6 for this board so I'll try reporting it to them. Thanks, Malith -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html