I noticed that when libsocketcan calls send_dump_request() it returns a message for me that has a length of 3424 with recvmsg(). This is not the full message, if I add a loop into the routine to again receive, I receive a second message this time with a length of 1424. I added some prints into the routine to output strings and sizes:
First read: nl_msg:-1073753668 u_msglen:3424 lo nl_msg:-1073752676 u_msglen:2432 eth0 nl_msg:-1073751668 u_msglen:1424 can0 nl_msg:-1073750956 u_msglen:712 can1 Second read: nl_msg:-1073753668 u_msglen:1424 can2 nl_msg:-1073752956 u_msglen:712 can3 With this loop, it seems to work. Does this make sense? Mit freundlichen Grüssen / Yours sincerely, James Kime Entwicklung / Development -------------------------------------------- IXXAT Automation GmbH Leibnizstr. 15, 88250 Weingarten, Germany Phone +49-751-56146-181 Fax +49-751-56146-29 mailto:k...@ixxat.de http://www.ixxat.de -------------------------------------------- PRIVILEGED AND CONFIDENTIAL. Any unauthorized use or disclosure is strictly prohibited. -------------------------------------------- Sitz der Gesellschaft: Weingarten Handelsregister Ulm HRB 551905 Geschäftsführer: Dipl.-Ing. Christian Schlegel -------------------------------------------- -----Original Message----- From: Wolfgang Grandegger [mailto:w...@grandegger.com] Sent: Friday, December 09, 2011 10:00 AM To: Kime, James Cc: socketcan-core@lists.berlios.de; linux-...@vger.kernel.org Subject: Re: CAN State Information On 12/09/2011 09:45 AM, k...@ixxat.de wrote: > I am new to using trace, but I think this is the output you are looking for: > ... > canconfig-3288 [000] 3756.163033: can_fill_xstats <-rtnl_link_fill > canconfig-3288 [000] 3756.163034: can_fill_info <-rtnl_link_fill > canconfig-3288 [000] 3756.163041: can_fill_xstats <-rtnl_link_fill > canconfig-3288 [000] 3756.163042: can_fill_info <-rtnl_link_fill > canconfig-3288 [000] 3756.163047: can_fill_xstats <-rtnl_link_fill > canconfig-3288 [000] 3756.163048: can_fill_info <-rtnl_link_fill > canconfig-3288 [000] 3756.163066: can_fill_xstats <-rtnl_link_fill > canconfig-3288 [000] 3756.163067: can_fill_info <-rtnl_link_fill > canconfig-3288 [000] 3756.163073: can_fill_xstats <-rtnl_link_fill > canconfig-3288 [000] 3756.163073: can_fill_info <-rtnl_link_fill Yep, I wanted to check if can_fill_info() is called at all. Actually, can_fill_info() does not return an error code so what I can think off is a mismatch in the data structure. What kernel CAN header files did you use when building libsocketcan? Next step would be to use "gdb" to find out where the error happend in the code. Most errors while print an error message, though. Wolfgang. _______________________________________________ Socketcan-core mailing list Socketcan-core@lists.berlios.de https://lists.berlios.de/mailman/listinfo/socketcan-core