You don't say much about your application... Are you programming in C or in Labview ? Are you using the frame api or the channel api ? What is the function that returns canWarnStuffError ? Are you able to confirm that the failure is only on the sending side or only on the receiving side ?
Using the frame api in C on Win2k and setting the following attributes with ncConfig before calling ncOpenObject on CAN0 open it at 500kbps in my program:
NC_ATTR_BAUD_RATE,500000
NC_ATTR_START_ON_OPEN,NC_TRUE
NC_ATTR_READ_Q_LEN,100
NC_ATTR_WRITE_Q_LEN,200
NC_ATTR_SINGLE_SHOT_TX,NC_FALSE
NC_ATTR_LOG_COMM_ERRS,NC_FALSE
NC_ATTR_CAN_COMP_STD,0
NC_ATTR_CAN_MASK_STD,NC_CAN_MASK_STD_DONTCARE
NC_ATTR_CAN_COMP_XTD,0
NC_ATTR_CAN_MASK_XTD,NC_CAN_MASK_XTD_DONTCARE
Most of
the parameters are specific to my application and I expect only NC_ATTR_BAUD_RATE to have any influence on the baud rate. I simply provide the other parameters for the sake of completeness.
You may also try to monitor the CAN signal using an oscilloscope if possible and try to measure the baud rate.