rbei-etas / busmaster

BUSMASTER is an Open Source Software tool to simulate, analyze and test data bus systems such as CAN. BUSMASTER was conceptualized, designed and implemented by Robert Bosch Engineering and Business Solutions (RBEI). Presently it is a joint project of RBEI and ETAS GmbH.
http://rbei-etas.github.com/busmaster/
GNU General Public License v3.0
945 stars 499 forks source link

Crash on Vector hardware #202

Closed sepp1006 closed 12 years ago

sepp1006 commented 12 years ago

I have access to several CAN interfaces from Vector, PCAN, IXXAT and tested the Vector interfaces to BUSMASTER. If i try to use with an VN7600 on CAN interfaces one and two (in BUSMASTER is it two and three because the Flexray port), and try to disconnect the CAN cable the programm crashes. This bug is repeatable in two of three cases. If i try to use an CANCardXL there is no crash. Think an buffer overflow ?!?!? My configuration is Win7 (both 32bit and 64 bit) with newest drivers and XL driver lib 7.5 and 8.0. If i can help you to make BUSMASTER more stable, let me know.

RBEI-ArunKumar commented 12 years ago

From the vector VN7600 datasheet (http://www.vector.com/vi_vn7600_en.html), it contains 3 CAN channels and 2 Flex-ray channels. Can you provide the following information which will help us in fixing the issue.

  1. How many of the available 3 CAN channels contains transceivers? You can get the transceiver information for a vector device by opening Control Panel -> Vector Hardware.
  2. What does the CAN Cable disconnection mean? Is it physical disconnection of VN7600 CAN channel from USB port or just BUSMASTER connect-disconnect? Please clarify.
sepp1006 commented 12 years ago

Ok! All 3 CAN channels are equipped with transceivers"piggyback". The first two with highspeed 1041AMAG and the last one with lowspeed 1054. If i connect the device, the Vector control panel shows 4 Channels. The 1st are the Flexray channel with (A&B) and the last 3 with CAN.In BUSMASTER i had 6 channels for selection. I find out, that channel 1 must be the Flexray channel. Channel 2,3 and 4 are the CAN channels 1,2 and 3 on the device. Channels 5 and 6 are virtual channels. So if i start e.g. with channel 2 and 3(highspeed) and set up transmitting on both channels connected to the same bus everything is ok until i pull off one of the 9-pol.D-SUB CAN-Connectors. Sometimes you only see the error frames, but many times the programm crashes. At the beginning of my test, all 3 device channels has the same highspeed transceivers, and i try some test with 3 channels at the same time. With the same result in pulling off one CAN connector. So i think it's not a transceiver problem.

RBEI-Srinivas commented 12 years ago

We tried the following scenarios using CANcaseXL.

No crash is observed on XP and Win7 PCs. We repeated these tests with new drivers installed from Vector, but issue is not reproducible. We feel the issue could be happening with the VN7600 hardware only.

Please elaborate more on repro steps.

RBEI-Saravanan commented 12 years ago

Hi Sepp, Please check this issue in v1.6.4 and let us know the results.

sepp1006 commented 12 years ago

Sorry for the late response. The error is still exists in v1.6.4. But only with VN7600. I tested CANCaseXL and CANCardXL to the same procedure with no crash. Unplugg the USB cable from VN7600 looks like the same as CANCaseXL. No error, but transmitting stop's also replug the cable.

RBEI-ArunKumar commented 12 years ago

The following commit is done to fix this issue: https://github.com/rbei-etas/busmaster/commit/84ce3f38996cd98a370d7cb60254010955164f96