Please try 125000, just to be sure.

At these rates many transceivers should be able to silently correct the timing, maybe the MCP2515 gives up on this after some frames.

Multiframe responses are just plain frames to the CAN driver, if there's a bug it would be in the application, the can trace logging would continue to work.


Am 30.12.2017 um 19:01 schrieb Geir Øyvind Vælidalo:
I’m pretty sure it’s 100kbit. I’ve decoded a lot of data with another can-logger.
I’ve been restarting the can-bus some times now and there’s two «special» PIDs that aren’t among the ones the trace have printed out.
On of these messages can look like this:
49bh 10 31 f0 32 00 30 00 31
49bh 21 00 2c 00 20 00 46 00
49bh 22 72 00 69 00 64 00 74
49bh 23 00 6a 00 6f 00 66 00
49bh 24 20 00 4e 00 61 00 6e
49bh 25 00 73 00 65 00 6e 00
49bh 26 73 00 20 00 76 00 2e
49bh 27 00 aa aa aa aa aa aa

It is a «multiframe» response containing text. Don’t know if that might be a problem? 

Geir

30. des. 2017 kl. 18:52 skrev Michael Balzer <dexter@expeedo.de>:

That's RX buffer 0 overflow:

<epbaejkifcjkiahk.png>

…and the new code should have reset it automatically -- the status output shows the last error state that occurred.

Maybe that's a timing issue?

Are you sure about the 100 kbit? I've found 125 kbit in a forum:

http://www.mykiasoulev.com/forum/viewtopic.php?t=135#p1772

Regards,
Michael


Am 30.12.2017 um 18:45 schrieb Geir Øyvind Vælidalo:
Looks correct now, but as you guessed, it still stops.
What does error flag 0x40 mean? Is the CAN_IRQ_ARB_LOST? 

Geir

30. des. 2017 kl. 18:38 skrev Michael Balzer <dexter@expeedo.de>:

OK, I found & fixed the cause for the invalid frames.

Please pull & try again -- but I doubt it's the fix for the stopping.


Am 30.12.2017 um 18:33 schrieb Michael Balzer:
Do you get valid messages with the previous version?

Regards,
Michael


Am 30.12.2017 um 18:30 schrieb Geir Øyvind Vælidalo:
Ok, this is what I get. As you can see, it is the same.

OVMS > can can2 start active 100000
Can bus can2 started in mode active at speed 100000Kbps
V (740558) can: rx can2 id 1fffff44 len 8: 43 02 00 00 00 00 ff ff | C.......
V (740618) can: rx can2 id 000 len 8: b6 78 00 00 00 00 00 00 | .x......
V (740618) can: rx can2 id 000 len 8: ff fc 0f 03 ff 00 00 00 | ........
V (740628) can: rx can2 id 000 len 8: ff ff ff ff ff ff 00 00 | ........
V (740638) can: rx can2 id 000 len 8: 54 00 ff 00 00 00 00 00 | T.......
V (740648) can: rx can2 id 1fffffbe len 8: 4d 02 00 00 00 00 ff ff | M.......
V (740678) can: rx can2 id 000 len 8: 00 00 00 00 00 00 00 00 | ........
V (740748) can: rx can2 id 1fffff44 len 8: 40 02 00 00 00 00 ff ff | @.......
V (740818) can: rx can2 id 000 len 8: b6 78 00 00 00 00 00 00 | .x......
V (740818) can: rx can2 id 000 len 8: ff fc 0f 03 ff 00 00 00 | ........
V (740828) can: rx can2 id 000 len 8: ff ff ff ff ff ff 00 00 | ........
V (740838) can: rx can2 id 1fffff13 len 8: 43 02 00 00 00 00 ff ff | C.......
V (740848) can: rx can2 id 000 len 8: 54 00 ff 00 00 00 00 00 | T.......
V (740878) can: rx can2 id 000 len 8: 00 00 00 00 00 00 00 00 | ........
V (741018) can: rx can2 id 000 len 8: b6 78 00 00 00 00 00 00 | .x......
V (741018) can: rx can2 id 000 len 8: ff fc 0f 03 ff 00 00 00 | ........
V (741028) can: rx can2 id 1fffff44 len 8: 40 02 00 00 00 00 ff ff | @.......
V (741038) can: rx can2 id 000 len 8: 54 00 ff 00 00 00 00 00 | T.......
V (741078) can: rx can2 id 000 len 8: 00 00 00 00 00 00 00 00 | ........
OVMS >                    


30. des. 2017 kl. 18:24 skrev Michael Balzer <dexter@expeedo.de>:

OK, and as your log output was from your vehicle module, please also do…

level verbose
can can2 trace on

…before activating the bus.

Thanks,
Michael


Am 30.12.2017 um 18:22 schrieb Geir Øyvind Vælidalo:
Can status gave this:

CAN:       can2
Mode:      Active
Speed:     100000
Rx pkt:                     104
Rx err:                       0
Tx pkt:                       0
Tx err:                       0
Err flags: 0x40


30. des. 2017 kl. 18:13 skrev Geir Øyvind Vælidalo <geir@validalo.net>:

Fantastic! I’m in my car right now, so I’ll test it right now 🙂

Geir

30. des. 2017 kl. 17:59 skrev Michael Balzer <dexter@expeedo.de>:

Geir,

I've had a look into the mcp2515 driver and found some possible causes for your issue. Main possible cause would be there was no check or clearing of RX buffer overflows.

There also was a chance the driver would read invalid frames, as the RX interrupts got cleared before the buffer content was fetched.

I think I've solved those issues, and I also added retrieving the tx/rx error counts and flags, so "can status" can actually show you errors that occurred.

I've got no simple means to check if my changes work and if they are more stable, I don't have a cable for can2/3.

Can you please pull & test?

Regards,
Michael


Am 30.12.2017 um 10:19 schrieb Geir Øyvind Vælidalo:
can can2 status gave me the same result. Once it stopped after receiving just 4 frames on Can2. During the few restarts I did this morning, 251 was the most I got before it stopped. 
Can1 recieved 50000 frames in no time and kept on going. It seems Can2 is the problem. Don’t know what happened yesterday when can1 stopped… 

Geir   

29. des. 2017 kl. 22:23 skrev Michael Balzer <dexter@expeedo.de>:

Geir,

can you check the output of "can … status" before and after death? Do the rx/tx counters still grow after death?

Regards,
Michael


Am 29.12.2017 um 22:14 schrieb Geir Øyvind Vælidalo:
I’m having problems with IncomingFrameCan when reading from two can buses from the Kia Soul. One of the can buses dies prematurely, and quite fast, with no visible errors. Most of the time it is Can2 that dies, however that is not always the case.
I tried with an almost empty IncomingFrameCan2, containing just a counter to see how many times it is called, and it varied from 15 to  almost 200 before it dies. 

This is the code:

RegisterCanBus(1, CAN_MODE_ACTIVE, CAN_SPEED_500KBPS);
RegisterCanBus(2, CAN_MODE_ACTIVE, CAN_SPEED_100KBPS);


void OvmsVehicleKiaSoulEv::IncomingFrameCan2(CAN_frame_t* p_frame)
{
uint8_t *d = p_frame->data.u8;
m_counter->SetValue( m_counter->AsInt()+1 );
}

IncomingFrameCan1 is quite verbose, but should not take too long time to process. But I have a lot of Polls on Can1:

static const OvmsVehicle::poll_pid_t vehicle_kiasoulev_polls[] =
  {
    { 0x7e2, 0x7ea, VEHICLE_POLL_TYPE_OBDIIVEHICLE,  0x02, {  30,  30,  30 } }, // VIN
    { 0x7e4, 0x7ec, VEHICLE_POLL_TYPE_OBDIIGROUP,  0x01, {  30,  10,  10 } }, // BMC Diag page 01
    { 0x7e4, 0x7ec, VEHICLE_POLL_TYPE_OBDIIGROUP,  0x02, {  30,  30,  10 } }, // BMC Diag page 02
    { 0x7e4, 0x7ec, VEHICLE_POLL_TYPE_OBDIIGROUP,  0x03, {  30,  30,  10 } }, // BMC Diag page 03
    { 0x7e4, 0x7ec, VEHICLE_POLL_TYPE_OBDIIGROUP,  0x04, {  30,  30,  10 } }, // BMC Diag page 04
    { 0x7e4, 0x7ec, VEHICLE_POLL_TYPE_OBDIIGROUP,  0x05, {  30,  30,  10 } }, // BMC Diag page 05
    { 0x794, 0x79c, VEHICLE_POLL_TYPE_OBDIIGROUP,  0x02, {  30,  30,  10 } }, // OBC - On board charger
    { 0x7e2, 0x7ea, VEHICLE_POLL_TYPE_OBDIIGROUP,  0x00, {  30,  10,  10 } }, // VMCU Shift-stick
    { 0x7e2, 0x7ea, VEHICLE_POLL_TYPE_OBDIIGROUP,  0x02, {  30,  10,   0 } }, // VMCU Motor temp++
    { 0x7df, 0x7de, VEHICLE_POLL_TYPE_OBDIIGROUP,  0x06, {  30,  10,   0 } }, // TMPS
    { 0x7c5, 0x7cd, VEHICLE_POLL_TYPE_OBDIIGROUP,  0x01, {  30,  10,   0 } }, // LDC - Low voltage DC-DC
    { 0, 0, 0, 0, { 0, 0, 0 } }
  };

The few times that Can2 is the one that lives on, I can’t see any metrics from Can1.
 
Current source can be seen here: https://github.com/goev/Open-Vehicle-Monitoring-System-3 in case someone can take a look.

Any pointers to where I can start looking, or tips to what I can try?

Best regards,
Geir






_______________________________________________
OvmsDev mailing list
OvmsDev@lists.teslaclub.hk
http://lists.teslaclub.hk/mailman/listinfo/ovmsdev

-- 
Michael Balzer * Helkenberger Weg 9 * D-58256 Ennepetal
Fon 02333 / 833 5735 * Handy 0176 / 206 989 26
_______________________________________________
OvmsDev mailing list
OvmsDev@lists.teslaclub.hk
http://lists.teslaclub.hk/mailman/listinfo/ovmsdev



_______________________________________________
OvmsDev mailing list
OvmsDev@lists.teslaclub.hk
http://lists.teslaclub.hk/mailman/listinfo/ovmsdev

-- 
Michael Balzer * Helkenberger Weg 9 * D-58256 Ennepetal
Fon 02333 / 833 5735 * Handy 0176 / 206 989 26
_______________________________________________
OvmsDev mailing list
OvmsDev@lists.teslaclub.hk
http://lists.teslaclub.hk/mailman/listinfo/ovmsdev

_______________________________________________
OvmsDev mailing list
OvmsDev@lists.teslaclub.hk
http://lists.teslaclub.hk/mailman/listinfo/ovmsdev



_______________________________________________
OvmsDev mailing list
OvmsDev@lists.teslaclub.hk
http://lists.teslaclub.hk/mailman/listinfo/ovmsdev

-- 
Michael Balzer * Helkenberger Weg 9 * D-58256 Ennepetal
Fon 02333 / 833 5735 * Handy 0176 / 206 989 26
_______________________________________________
OvmsDev mailing list
OvmsDev@lists.teslaclub.hk
http://lists.teslaclub.hk/mailman/listinfo/ovmsdev



_______________________________________________
OvmsDev mailing list
OvmsDev@lists.teslaclub.hk
http://lists.teslaclub.hk/mailman/listinfo/ovmsdev

-- 
Michael Balzer * Helkenberger Weg 9 * D-58256 Ennepetal
Fon 02333 / 833 5735 * Handy 0176 / 206 989 26


_______________________________________________
OvmsDev mailing list
OvmsDev@lists.teslaclub.hk
http://lists.teslaclub.hk/mailman/listinfo/ovmsdev

-- 
Michael Balzer * Helkenberger Weg 9 * D-58256 Ennepetal
Fon 02333 / 833 5735 * Handy 0176 / 206 989 26
_______________________________________________
OvmsDev mailing list
OvmsDev@lists.teslaclub.hk
http://lists.teslaclub.hk/mailman/listinfo/ovmsdev



_______________________________________________
OvmsDev mailing list
OvmsDev@lists.teslaclub.hk
http://lists.teslaclub.hk/mailman/listinfo/ovmsdev

-- 
Michael Balzer * Helkenberger Weg 9 * D-58256 Ennepetal
Fon 02333 / 833 5735 * Handy 0176 / 206 989 26
_______________________________________________
OvmsDev mailing list
OvmsDev@lists.teslaclub.hk
http://lists.teslaclub.hk/mailman/listinfo/ovmsdev



_______________________________________________
OvmsDev mailing list
OvmsDev@lists.teslaclub.hk
http://lists.teslaclub.hk/mailman/listinfo/ovmsdev

-- 
Michael Balzer * Helkenberger Weg 9 * D-58256 Ennepetal
Fon 02333 / 833 5735 * Handy 0176 / 206 989 26