2004 to 2020 Mazda 3 Forum and Mazdaspeed 3 Forums banner
6,201 - 6,220 of 6,600 Posts
Thanks!

For anyone interested in development: I used the Freescale "ltib" stuff as the starting point:



I've never used ltib for building applications, but I assume it's pretty straightforward. I think it's RPM based - you need to create a ".spec" for your package. Sorry I don't know all of the details - I don't know much about building RPMs.

With this ltib-based SDK, you build a kernel and root filesystem (apps/etc). It's obviously not targeted at the CMU (it's for Freescale iMX6 development board), but it's a starting point. I think that writing applications using the SDK should result in runnable binaries.

As I said, it was really difficult building a kernel module that's compatible with the CMU kernel. As a kernel developer, I still really didn't think about all of the issues involved. For example, one of the first things the "aufs" driver does is index a bitmap using the kernel global variable "current->pid" (the current process's pid).

"current" is a pointer to a "struct task_struct". The size of a task_struct, as well as the offsets to different elements (like "pid") varies based on kernel config. So, the default config (from Freescale) had a vastly different "task_struct" - I had to (via trial and error and hexdumps of the CMU's "current" struct) figure out which config options would result in a "task_struct" that's exactly 0x3a8 bytes long with various elements at very specific offsets.

There are several other structures used by "aufs" that had similar issues. I'm not sure that I've found them all (that's why I said there's a lot more testing to be done).

On top of that, "aufs" requires some functions/variables to be "exported" from the kernel that it's built with. Obviously, we can't do that on the CMU kernel. So, I had to figure out the addresses for all of these things and make "wrappers" to directly access the CMU kernel functions.


It's a lot of work, but very interesting :) Hopefully, there'll be some good results from this work.

- Paulb

Why not just copy the firmware binaries and libraries on a sabre board installed with the same linux kernel version ?
 
Thanks!

For anyone interested in development: I used the Freescale "ltib" stuff as the starting point:


I've never used ltib for building applications, but I assume it's pretty straightforward. I think it's RPM based - you need to create a ".spec" for your package. Sorry I don't know all of the details - I don't know much about building RPMs.

With this ltib-based SDK, you build a kernel and root filesystem (apps/etc). It's obviously not targeted at the CMU (it's for Freescale iMX6 development board), but it's a starting point. I think that writing applications using the SDK should result in runnable binaries.

As I said, it was really difficult building a kernel module that's compatible with the CMU kernel. As a kernel developer, I still really didn't think about all of the issues involved. For example, one of the first things the "aufs" driver does is index a bitmap using the kernel global variable "current->pid" (the current process's pid).

"current" is a pointer to a "struct task_struct". The size of a task_struct, as well as the offsets to different elements (like "pid") varies based on kernel config. So, the default config (from Freescale) had a vastly different "task_struct" - I had to (via trial and error and hexdumps of the CMU's "current" struct) figure out which config options would result in a "task_struct" that's exactly 0x3a8 bytes long with various elements at very specific offsets.

There are several other structures used by "aufs" that had similar issues. I'm not sure that I've found them all (that's why I said there's a lot more testing to be done).

On top of that, "aufs" requires some functions/variables to be "exported" from the kernel that it's built with. Obviously, we can't do that on the CMU kernel. So, I had to figure out the addresses for all of these things and make "wrappers" to directly access the CMU kernel functions.


It's a lot of work, but very interesting :) Hopefully, there'll be some good results from this work.

- Paulb
why not use the default linux image of a freescale board and just copy the binaries ? Assuming the same kernel version and the same set of libraries are used... This should work right ?
 
The speedometer gives a different of about -4% in my CX-5.

We use km/h.
When I drive 100 km/h (on the analog meter of the car) the speedometer gives 96 km/h.
When I drive 130 km/h (the max in The Netherlands) it will show me 125 km/h.

The settings with AIO is set to car values and not to GPS values.
So I expect that when my car gives 100 km/h on the analog needle the speedometer will also show 100 km/h.

When I set the limit setting for the cruse control on 100 km/h and I drive a continues speed the car will not go behond the 96 km/h on the speedometer.
I verified with tom-tom gps on my smartphone, the car analog needle gives same value as gps on the tom-tom.

Is it possible for me to change the speed of speedometer with +4%?
 
Speedometer uses the untouched real sensor value, even from car, not only GPS. Your OEM speedometer is artificial manipulated as in every car, only because of human behavior driving always too fast.
You have to change the javascript function and add a new calculation factor.
 
I am looking to the code in speedometer.js:

// update vehicle speed
// --------------------------------------------------------------------------
function updateVehicleSpeed(currentSpeed){
var currentSpeed = $.trim(currentSpeed);
if($.isNumeric(currentSpeed)){
if(isMPH){
speedCurrent = Math.ceil(currentSpeed * 0.006213712);
} else {
speedCurrent = Math.ceil(currentSpeed * 0.01);
}


Think I can change the last line into:

speedCurrent = Math.ceil(currentSpeed * 0.01 * 1.04);


Should this be enough?
 
Changed the line as follows:

speedCurrent = Math.ceil(currentSpeed * 0.01045 );


Tried different situations with crusecontrols-limit function and now speedometer gives exact the same value as the limit value.
So I am happy with this patch.
 
Hello, I have a couple of errors with the Mazda connect, I have infinite boot (With the Mazda logo)

I have access via SSH thanks to the link with the WIFI AP.

This is the log in this location = /data_persist/log/error_logs/log

00:00:09.872 LVDS[61] Error (lvds_dbus.c:545 LVDS_Signal_DisplayStatus) Display Status Resp = PASSED with value 0
00:00:11.054 BLM_SETTINGS[377] Error (settings_vbs_interface.cpp:14429 BLM_SETTINGS_Get_VBS_VehicleGroup_VehIdNumber_cb) VIN data from VBS is NULL
00:00:11.694 VBS_BUS_VDT[342] Error (mod_vdt.c:397 VBS_VDT_SM_Connect) SM Connect Called
00:00:11.726 VBS_BUS_VDT[342] Error (mod_vdt.c:392 VBS_VDT_CPP_Time_Disconnect_cb) CPP TIME IS NOT CONNECTED
00:00:12.320 TIMER[342] Error (timer.c:415 TMR_InUse) Invalid input parameter 'tmrPtr' = NULL!
00:00:12.356 RADIO_DB[342] Error (radiodb_interface.c:1423 RADIO_DB_FM_UpdateMetadata) radio handle is null
00:00:12.356 VBS_BUS_RADIO[342] Error (mod_radio_manage_svc.c:12022 vbs_radio_clearTextData) Sending the Text_Notification response signal on dbus resulted an error.
00:00:12.356 RADIO_DB[342] Error (radiodb_interface.c:1572 RADIO_DB_FM_ClearMetadata) radio handle null
00:00:12.356 VBS_BUS_RADIO[342] Error (mod_radio_manage_svc.c:4191 VBS_RADIO_SendSignal_RadioControl) Failed to Clear FM Metadata Error Status 1
00:00:12.356 RADIO_DB[342] Error (radiodb_interface.c:1972 RADIO_DB_AM_ClearMetadata) radio handle null
00:00:12.356 VBS_BUS_RADIO[342] Error (mod_radio_manage_svc.c:4198 VBS_RADIO_SendSignal_RadioControl) Failed to Clear AM Metadata Error Status 1
00:00:12.394 RADIO_DB[342] Error (radiodb_interface.c:1423 RADIO_DB_FM_UpdateMetadata) radio handle is null
00:00:12.394 VBS_BUS_RADIO[342] Error (mod_radio_manage_svc.c:4984 VBS_RADIO_SendSignal_PTY_Response) Sent PTY notification failed for the data written.
00:00:13.914 CPP_TIME[440] Error (time_common.cpp:2518 TIME_IsValid_New_UTC) UTC new:2017.07.30 19:15:05 current:1970.01.01 00:00:13 difference is 1501442092s (13 - 1501442105)
00:00:14.255 AUDIO_MGR[521] Error (audio_am_client_bind.c:302 AUDIO_AMSERVICE_Request) AUDIO_AMSERVICE_Request: The name com.xsembedded.service.AudioManagement was not provided by any .service files
00:00:14.774 xse>AP>[] Critical :) ) : ----------------------------------------------
00:00:14.814 xse>AP>[] Critical :) ) : Verification Results:
00:00:14.817 xse>AP>[] Critical :) ) : ERRORS: 0
00:00:14.817 xse>AP>[] Critical :) ) : Definitions Assumed User Defined Variables: 0
00:00:14.817 xse>AP>[] Critical :) ) : ----------------------------------------------
00:00:14.817 xse>AP>[] Critical :) ) : INFO: Control logic syntax validation complete (0/0)
00:00:14.992 xse>AP>[] Error :) ) : Ready...
00:00:15.436 xse>AM>[] Critical :) ) : ----------------------------------------------
00:00:15.442 xse>AM>[] Critical :) ) : Verification Results:
00:00:15.444 xse>AM>[] Critical :) ) : ERRORS: 0
00:00:15.445 xse>AM>[] Critical :) ) : Definitions Assumed User Defined Variables: 0
00:00:15.451 xse>AM>[] Critical :) ) : ----------------------------------------------
00:00:15.452 xse>AM>[] Critical :) ) : INFO: Control logic syntax validation complete (0/0)
00:00:15.454 xse>AM>[] Error :) ) : Ready...
00:00:17.004 RADIO[830] Error (radio_setting_interface.c:258 radio_getFM_TASetting) SETTINGS_Registry_getU32 call failed with 34
00:00:17.004 RADIO[830] Error (radio_setting_interface.c:236 radio_getAM_TASetting) SETTINGS_Registry_getU32 call failed with 34
00:00:18.206 CPUGAUGE[208] Error (jci_cpu_gauge.cpp:397 runCpuMonitor) CPU utilization is 100%
00:00:19.025 MMUI_FMRADIO[914] Error (uia_fmradio.c:4747 UIA_FMRADIO_SendIntentStatusUpdateRadio) Application not found in MMUI. UIA_ID: common OR RADIO mode is not on
00:00:19.130 MMUI_SYSUPDATE[914] Error (uia_sysupdate_dbus.c:2154 sysupdate_sm_get_running_services_cb) Service Name : jciUpdatea and State : 1
00:00:19.167 MMUI_BTAUDIO[914] Error (uia_btaudio_dbus.c:196 btaudio_btrvr_client_dbus_init) JCIDBUS_conn_connect to BTRVR
00:00:19.342 MMUI_FMRADIO[914] Error (uia_fmradio.c:4747 UIA_FMRADIO_SendIntentStatusUpdateRadio) Application not found in MMUI. UIA_ID: common OR RADIO mode is not on
00:00:20.157 MMUI_TV[914] Error (mmui_sm_tv_client.c:220 MMUI_SM_TV_CLIENT_Subscribe) SM_SubscribeForEvents: status 100
00:00:20.598 MMUI_WARNGUIDE[914] Error (uia_warnguide_dbus.c:96 CheckWarnguideServiceStatus) Warnguide service is not running
00:00:20.679 MMUI_IDM[914] Error (uia_idm_dbus.c:1949 uiaIdm_BLM_Idm_Disconnect_cb) IDM DBUS BLMIdm Service is Unavailable
00:00:20.860 MMUI_VDT[914] Error (uia_vdt_dbus.c:84 CheckVdtServiceStatus) vdt service is not running
00:00:21.042 MMUI_AUDIOAGGREGATOR[914] Error (uia_audioaggregator.c:405 AUDIOAGGREGATOR_ConvertAppNameToAudioSourceType) Application name: fmradio
00:00:21.042 MMUI_AUDIOAGGREGATOR[914] Error (uia_audioaggregator.c:412 AUDIOAGGREGATOR_ConvertAppNameToAudioSourceType) Return source type: 1
00:00:21.188 MMUI_AUDIOAGGREGATOR[914] Error (uia_audioaggregator_dbus.c:1167 radioGetTunerStatus) radioGetTunerStatus: return value is Null!
00:00:22.284 JVMM[1239] Error :) ) [ 22.277537 0x2ae6a460]LOGGER ERR [getNaviManufInfo] Error on open() fd=[-1]
00:00:22.284 JVMM[1239] Error :) ) [ 22.284264 0x2ae6a460]LOGGER ERR [getNaviManufInfo] Error on open() fd=[-1]
00:00:25.134 SM[1321] Error (RequestHandler.hpp:237 stopHandling) Error: No such process, with Message: Cancelling thread failed!Backtrace: /jci/sm/sm_svclauncher() [0x1459c] /jci/sm/sm_svclauncher(_ZN14ErrorExceptionC2EiPKc+0xdc) [0x14d60] /jci/sm/sm_svclauncher(_ZN14RequestHandlerI11HashMessageE12stopHandlingEv+0xe8) [0x1baf8] /jci/sm/sm_svclauncher() [0x1a2f8] /lib/libc.so.6(+0x2cf70) [0x2ad5df70]
00:00:25.143 SM[1321] Error (RequestHandler.hpp:237 stopHandling) Error: No such process, with Message: Cancelling thread failed!Backtrace: /jci/sm/sm_svclauncher() [0x1459c] /jci/sm/sm_svclauncher(_ZN14ErrorExceptionC2EiPKc+0xdc) [0x14d60] /jci/sm/sm_svclauncher(_ZN14RequestHandlerI11HashMessageE12stopHandlingEv+0xe8) [0x1baf8] /jci/lib/libjcism_service.so(_ZN23SmSvcHostRequestHandlerD1Ev+0x6c) [0x2abe4a00] /lib/libc.so.6(__cxa_finalize+0xbc) [0x2ad5e33c]
00:00:25.146 SM[1321] Error (RequestHandler.hpp:237 stopHandling) Error: No such process, with Message: Cancelling thread failed!Backtrace: /jci/sm/sm_svclauncher() [0x1459c] /jci/sm/sm_svclauncher(_ZN14ErrorExceptionC2EiPKc+0xdc) [0x14d60] /jci/sm/sm_svclauncher(_ZN14RequestHandlerI11HashMessageE12stopHandlingEv+0xe8) [0x1baf8] /jci/lib/libjcism_service.so(_ZN23SmSvcHostRequestHandlerD1Ev+0x6c) [0x2abe4a00] /lib/libc.so.6(__cxa_finalize+0xbc) [0x2ad5e33c]
00:00:25.400 kernel[] Error :) ) [ 25.402540] RELFS: invalid mount option "utf8"
00:00:27.371 Std[] Error :) ) 22+0 records in
00:00:27.371 Std[] Error :) ) 22+0 records out
00:00:27.374 Std[] Error :) ) 22 bytes (22B) copied, 0.016286 seconds, 1.3KB/s
00:00:28.733 NAVIBLM[1557] Error (jvmm_uplink.c:434 getModelNumber) Byte number 0 from /config-mfg/fgsn.dat is not a number.
00:00:28.733 NAVIBLM[1557] Error (jvmm_uplink.c:714 uplinkNaviInfo) Error getting model number.
00:00:28.733 NAVIBLM[1557] Error (navi_service.c:640 ServiceInit) Failed to write jvmm uplink info.
00:00:36.005 com.jci.cpp.settings.socket[1874] Error (SocketRegistry.cpp:975 run) Caught com::jci::cpp::io::IoException on line 295 in function receive of file com/jci/cpp/settings/socket/Channel.cpp with message: Failed to read from descriptor -1 with error: Bad file descriptor (9) # 0 0x2AC62424 # 1 0x2AC94C80 # 2 0x2AE496AC
00:00:39.037 Std[] Error :) ) killall: cs_receiver_arm: no process killed
00:00:39.243 TTS[2059] Error (ttss_interface.c:506 ttss_if_ConnectToNATP) Failed to connection to NATP at IP and port: 127.0.0.1|6010. Retry in 1 sec...
00:00:40.244 TTS[2059] Error (ttss_interface.c:506 ttss_if_ConnectToNATP) Failed to connection to NATP at IP and port: 127.0.0.1|6010. Retry in 1 sec...
00:00:41.935 TTS[2059] Error (ttss_interface.c:506 ttss_if_ConnectToNATP) Failed to connection to NATP at IP and port: 127.0.0.1|6010. Retry in 1 sec...
00:00:42.936 TTS[2059] Error (ttss_interface.c:506 ttss_if_ConnectToNATP) Failed to connection to NATP at IP and port: 127.0.0.1|6010. Retry in 1 sec...
00:00:48.474 GUI_MANAGER[608] Critical (guiManager.c:391 OnHeartbeatMissed) GUI didn't send any heartbeat for 10 seconds. Closing Opera.
00:00:49.036 OPERA_MAIN[608] Error (OperaDBUSService.cpp:174 OPERA_IHU_TerminateOpera_svc) GUI or OPERA PLUGIN requested terminate! - Watchdog disabled - ignore the call
00:00:49.395 TIMER[2362] Error (timer.c:415 TMR_InUse) Invalid input parameter 'tmrPtr' = NULL!
00:00:49.700 MMUI_ECOENERGY[914] Error (uia_ecoenergy.c:3417 uiaEcoEnergy_read_fuel_type) Error opening file: /data/EcoFuelType
00:00:49.700 MMUI_ECOENERGY[914] Error (uia_ecoenergy.c:3417 uiaEcoEnergy_read_fuel_type) Error opening file: /data/EcoFuelType
00:00:50.915 DLNK[2216] Error (dlnk_timer.c:283 DLNK_TimerCleanupHandler) error in pthread_mutex_destroy
00:00:50.915 DLNK[2216] Error (dlnk_timer.c:295 DLNK_TimerCleanupHandler) error in pthread_mutex_destroy
00:00:51.559 COMMON[914] Error (abstract_set.c:494 absset_SetIndex) Invalid index.
00:00:51.559 COMMON[914] Error (list_by_abstractset.c:509 LIST_IndexNext) AbsSET_IndexNext() failed - 4.
00:00:51.559 PBA[2390] Error (pb_interface_dbus_bca.c:601 pb_BCA_DontShowOnConnectionSettingCallback) pb_BCA_DontShowOnConnectionSettingCallback({btDeviceID:1:INVALID}{setting:0}): FAILED because of NULL pbDeviceContext
00:00:51.965 PBA[2390] Error (pb_interface_pbsil.c:268 pb_pbsil_get_device_context_by_cb) pb_pbsil_get_device_context_by_cb(0x70f18,2) is returning NULL due to wrong event (0) {unexpected callback?}
00:00:51.965 PBA[2390] Error (pb_interface_pbsil.c:991 pb_pbsil_delete_cb) pb_pbsil_delete_cb((PBSIL_handle_t*)0x65c48,{PBK_error_t:0:The operation completed successfully.},{userData:0x70f18}): pb_pbsil_get_device_context_by_cb(0x70f18,pb_pbsil_callback_delete_e) FAILED
00:00:51.965 PBA[2390] Error (pb_interface_pbsil.c:268 pb_pbsil_get_device_context_by_cb) pb_pbsil_get_device_context_by_cb(0x70f18,2) is returning NULL due to wrong event (0) {unexpected callback?}
00:00:51.965 PBA[2390] Error (pb_interface_pbsil.c:991 pb_pbsil_delete_cb) pb_pbsil_delete_cb((PBSIL_handle_t*)0x65c48,{PBK_error_t:0:The operation completed successfully.},{userData:0x70f18}): pb_pbsil_get_device_context_by_cb(0x70f18,pb_pbsil_callback_delete_e) FAILED
00:00:51.965 PBA[2390] Error (pb_interface_pbsil.c:268 pb_pbsil_get_device_context_by_cb) pb_pbsil_get_device_context_by_cb(0x70ef0,2) is returning NULL due to wrong event (0) {unexpected callback?}
00:00:51.965 PBA[2390] Error (pb_interface_pbsil.c:991 pb_pbsil_delete_cb) pb_pbsil_delete_cb((PBSIL_handle_t*)0x65c48,{PBK_error_t:0:The operation completed successfully.},{userData:0x70ef0}): pb_pbsil_get_device_context_by_cb(0x70ef0,pb_pbsil_callback_delete_e) FAILED
00:00:51.965 PBA[2390] Error (pb_interface_pbsil.c:268 pb_pbsil_get_device_context_by_cb) pb_pbsil_get_device_context_by_cb(0x70ef0,2) is returning NULL due to wrong event (0) {unexpected callback?}
00:00:51.965 PBA[2390] Error (pb_interface_pbsil.c:991 pb_pbsil_delete_cb) pb_pbsil_delete_cb((PBSIL_handle_t*)0x65c48,{PBK_error_t:0:The operation completed successfully.},{userData:0x70ef0}): pb_pbsil_get_device_context_by_cb(0x70ef0,pb_pbsil_callback_delete_e) FAILED
00:00:54.551 MMUI_EMAIL[914] Error (uia_email_dbus.c:3948 EMAIL_GetAutoDownload_cb) client type Email, enabled: Yes.
00:00:56.157 CPUGAUGE[208] Error (jci_cpu_gauge.cpp:445 runCpuMonitor) CPU utilization is reduced to 60%
00:01:02.599 Std[] Error :) ) route: SIOCDELRT: No such process
00:01:30.363 VBS_BUS_RADIO[342] Error (mod_radio_manage_svc.c:13109 VBS_RADIO_DAB_Status) !!!! Failed to post on to Dbus for the response type = 10 due to -1 !!!!
00:01:31.121 VBS_BUS_RADIO[342] Error (mod_radio_manage_svc.c:13109 VBS_RADIO_DAB_Status) !!!! Failed to post on to Dbus for the response type = 10 due to -1 !!!!
thanks.
 
hi I haven't find any tweaks to disable the i-stop feature. Is there any ? Now I need to press the button each time engine is started.
With Google Translate from German Forum:

In the hood lock is a small switch, which mediates whether the hood is open for maintenance purposes.The i-stop is disabled for maintenance purposes. The switch is fixed with a screw and has a plastic pin that sits in a bore. Loosen the screw, turn the switch so that the pin sits next to the hole and screw on again. Now it is no longer pressed with the hood closed and the i-stop is permanently deactivated!

Since we have no control light for the bonnet, there is also no error message!
 
disable i-stop

hi I haven't find any tweaks to disable the i-stop feature. Is there any ? Now I need to press the button each time engine is started.
quick but not perfect solution:
If you put air blower to windshield i-stop is disabled

solution:
using a ELM327 cable with HS/MS switch, with free FORScan app, you can disable i-stop
more on this thread http://mazda3revolution.com/forums/...ronics/169393-change-configuration-explore-different-functions-asbuilt-109.html
 

Attachments

I have an MX5 and as Diginix pointed out I found the outside/intake and coolant temperatures to be strange. Outside temperature would be close when it was in the 60F range but then it would be low by 20 degrees when it got to 90 F outside. The intake temperature does better but I also don't put much faith in it.

Coolant temperature (vdm_vdt_current_data - EngClnt_Te_Actl) comes in low verses the dashboard gauge. (135 F when dash gauge is in the 190 F range). Your coolant temperature shows 52C which seems low for a running engine. Have you compared the coolant temperature to that shown with an OBD2 readout or are you using a different parameter than I tried? I found vdm_vdt_pid - EngineCoolantTemperature to always read 0.

Finally found it!

All the temperatures are in CELSIUS DEGREES with an offset of +40. This is to prevent an underflow when temperatures got below zero. In this way, the lowest temperature you can represent with a is -40C.

So, every temperature is now readable!

VDTCOut-CarTemperature - Outside air temperature, -40 offset, C
VDTDR_IntakeAirTemp - Intake air temperature, -40 offset, C
VDTCEngClnt_Te_Actl - Engine Coolant Temperature (ECT), -40 offset, C

I am 100% sure, I read the values through OBD and everything matches (and the -40 offset makes sense from a programming perspective).

:nerd: :nerd: :nerd:

So, now, I' d be really grateful if someone pointed me to the source of this app (see attachment), so I can make the corrections and use it :)
 

Attachments

6,201 - 6,220 of 6,600 Posts