Hive13 / CANiBUS

CAN Device Vehicle Research Server (OpenGarages.org)
108 stars 22 forks source link

VIN Code 09 02 #1

Open nicomontes opened 9 years ago

nicomontes commented 9 years ago

I have this result when i try to run canibus with ELM327 bluetouth :

DEBUG: Sending command: 09 02 DEBUG: Timeout DEBUG: gotLine true DEBUG: SendCmd resp= >NO DATA DEBUG: Timeout DEBUG: gotLine false DEBUG: SendCmd resp= SendCmd Results: [>NO DATA] panic: runtime error: index out of range

zombieCraig commented 9 years ago

The ELM327 driver is simply a serial driver. Try to use a terminal like minicom or hyperterminal and send the command. Does it work via a terminal?

Here is a list of all the commands the ELM327 supports http://elmelectronics.com/DSheets/ELM327DS.pdf

On Wed, Jul 30, 2014 at 10:43 AM, Nicolas Montes notifications@github.com wrote:

I have this result when i try to run canibus with ELM327 bluetouth :

'''bash DEBUG: Sending command: 09 02 DEBUG: Timeout DEBUG: gotLine true DEBUG: SendCmd resp= >NO DATA DEBUG: Timeout DEBUG: gotLine false DEBUG: SendCmd resp= SendCmd Results: [>NO DATA] panic: runtime error: index out of range

— Reply to this email directly or view it on GitHub https://github.com/Hive13/CANiBUS/issues/1.

nicomontes commented 9 years ago

With terminal the connection is OK.

I send AT DP i have ISO 9141-2 I send 09 02 i have NO DATA

Torque on android phone can't return VIN Code.

liamjack commented 8 years ago

Same problem for me:

./bin/canibusd 
[2015-07-11 01:45:47.67673028 +0200 CEST] Loading packets from simulator.json
[2015-07-11 01:45:47.832444171 +0200 CEST] Initializing ELM327 on /dev/rfcomm0
Clearing buffers
Sending Reset
DEBUG: Sending command:  ATI
DEBUG: gotLine false
DEBUG: SendCmd resp= 
DEBUG: gotLine true
DEBUG: SendCmd resp= ELM327 v1.5
DEBUG: Timeout
DEBUG: gotLine false
DEBUG: SendCmd resp= 
SendCmd Results:  [ELM327 v1.5]
Turning off echo
DEBUG: Sending command:  ATE0
DEBUG: gotLine true
DEBUG: SendCmd resp= >OK
DEBUG: Timeout
DEBUG: gotLine false
DEBUG: SendCmd resp= 
SendCmd Results:  [>OK]
DEBUG: Sending command:  ATH0
DEBUG: gotLine true
DEBUG: SendCmd resp= >OK
DEBUG: Timeout
DEBUG: gotLine false
DEBUG: SendCmd resp= 
SendCmd Results:  [>OK]
DEBUG: Sending command:  ATR1
DEBUG: Timeout
DEBUG: gotLine true
DEBUG: SendCmd resp= >OK
DEBUG: Timeout
DEBUG: gotLine false
DEBUG: SendCmd resp= 
SendCmd Results:  [>OK]
DEBUG: Sending command:  ATSH 7DF
DEBUG: Timeout
DEBUG: gotLine true
DEBUG: SendCmd resp= >OK
DEBUG: Timeout
DEBUG: gotLine false
DEBUG: SendCmd resp= 
SendCmd Results:  [>OK]
DEBUG: Sending command:  09 02
DEBUG: Timeout
DEBUG: gotLine true
DEBUG: SendCmd resp= >NO DATA
DEBUG: Timeout
DEBUG: gotLine false
DEBUG: SendCmd resp= 
SendCmd Results:  [>NO DATA]
panic: runtime error: index out of range

goroutine 16 [running]:
runtime.panic(0x763680, 0xba309c)
    /usr/lib/go/src/pkg/runtime/panic.c:279 +0xf5
canibus/candevice.(*Elm327).GetVIN(0xc20830c000, 0x0, 0x0)
    /home/cuonic/Git/CANiBUS/src/canibus/candevice/elm327.go:134 +0xe5c
canibus/candevice.(*Elm327).Init(0xc20830c000, 0xc20803e801)
    /home/cuonic/Git/CANiBUS/src/canibus/candevice/elm327.go:68 +0x441
canibus/server.InitDrivers()
    /home/cuonic/Git/CANiBUS/src/canibus/server/devicemgr.go:11 +0xb8
main.main()
    /home/cuonic/Git/CANiBUS/src/canibus/canibusd/main.go:58 +0x87

goroutine 19 [finalizer wait]:
runtime.park(0x414040, 0xbbb370, 0xba7169)
    /usr/lib/go/src/pkg/runtime/proc.c:1369 +0x89
runtime.parkunlock(0xbbb370, 0xba7169)
    /usr/lib/go/src/pkg/runtime/proc.c:1385 +0x3b
runfinq()
    /usr/lib/go/src/pkg/runtime/mgc0.c:2644 +0xcf
runtime.goexit()
    /usr/lib/go/src/pkg/runtime/proc.c:1445

goroutine 17 [syscall]:
runtime.goexit()
    /usr/lib/go/src/pkg/runtime/proc.c:1445

goroutine 34 [syscall]:
syscall.Syscall(0x0, 0x4, 0xc208052e00, 0x80, 0x6, 0x80, 0x0)
    /usr/lib/go/src/pkg/syscall/asm_linux_amd64.s:21 +0x5
syscall.read(0x4, 0xc208052e00, 0x80, 0x80, 0x7f1c30e4f000, 0x0, 0x0)
    /usr/lib/go/src/pkg/syscall/zsyscall_linux_amd64.go:838 +0x75
syscall.Read(0x4, 0xc208052e00, 0x80, 0x80, 0x1, 0x0, 0x0)
    /usr/lib/go/src/pkg/syscall/syscall_unix.go:136 +0x5c
os.(*File).read(0xc208034020, 0xc208052e00, 0x80, 0x80, 0x427d53, 0x0, 0x0)
    /usr/lib/go/src/pkg/os/file_unix.go:190 +0x62
os.(*File).Read(0xc208034020, 0xc208052e00, 0x80, 0x80, 0x80, 0x0, 0x0)
    /usr/lib/go/src/pkg/os/file.go:95 +0x98
canibus/serialbuffer.(*SerialBuffer).Read(0xc20830c000, 0x0, 0x0, 0x0, 0x0, 0x0)
    /home/cuonic/Git/CANiBUS/src/canibus/serialbuffer/serialbuffer.go:137 +0xe0
canibus/serialbuffer.func·001()
    /home/cuonic/Git/CANiBUS/src/canibus/serialbuffer/serialbuffer.go:80 +0x32
created by canibus/serialbuffer.(*SerialBuffer).ReadLn
    /home/cuonic/Git/CANiBUS/src/canibus/serialbuffer/serialbuffer.go:80 +0x1a5

goroutine 33 [syscall]:
syscall.Syscall(0x0, 0x4, 0xc208052c80, 0x80, 0x3, 0x80, 0x0)
    /usr/lib/go/src/pkg/syscall/asm_linux_amd64.s:21 +0x5
syscall.read(0x4, 0xc208052c80, 0x80, 0x80, 0x7f1c30e4f000, 0x0, 0x0)
    /usr/lib/go/src/pkg/syscall/zsyscall_linux_amd64.go:838 +0x75
syscall.Read(0x4, 0xc208052c80, 0x80, 0x80, 0x1, 0x0, 0x0)
    /usr/lib/go/src/pkg/syscall/syscall_unix.go:136 +0x5c
os.(*File).read(0xc208034020, 0xc208052c80, 0x80, 0x80, 0x427d53, 0x0, 0x0)
    /usr/lib/go/src/pkg/os/file_unix.go:190 +0x62
os.(*File).Read(0xc208034020, 0xc208052c80, 0x80, 0x80, 0x80, 0x0, 0x0)
    /usr/lib/go/src/pkg/os/file.go:95 +0x98
canibus/serialbuffer.(*SerialBuffer).Read(0xc20830c000, 0x0, 0x0, 0x0, 0x0, 0x0)
    /home/cuonic/Git/CANiBUS/src/canibus/serialbuffer/serialbuffer.go:137 +0xe0
canibus/serialbuffer.func·001()
    /home/cuonic/Git/CANiBUS/src/canibus/serialbuffer/serialbuffer.go:80 +0x32
created by canibus/serialbuffer.(*SerialBuffer).ReadLn
    /home/cuonic/Git/CANiBUS/src/canibus/serialbuffer/serialbuffer.go:80 +0x1a5

Also using ELM327 via Bluetooth

zombieCraig commented 8 years ago

I think the best solution will be to scrap these drivers and replace them with a socketcand driver. This will allow CANiBUS to run on all platforms, albeit with a Linux server connected to the car but htat can be easily handle with a rasp pi. I'm not sure when I'll get to this tho...Maybe we can get a volunteer on the OpenGarages mailing list...

On Fri, Jul 10, 2015 at 4:53 PM, Liam Jack notifications@github.com wrote:

Same problem for me:

./bin/canibusd [2015-07-11 01:45:47.67673028 +0200 CEST] Loading packets from simulator.json [2015-07-11 01:45:47.832444171 +0200 CEST] Initializing ELM327 on /dev/rfcomm0 Clearing buffers Sending Reset DEBUG: Sending command: ATI DEBUG: gotLine false DEBUG: SendCmd resp= DEBUG: gotLine true DEBUG: SendCmd resp= ELM327 v1.5 DEBUG: Timeout DEBUG: gotLine false DEBUG: SendCmd resp= SendCmd Results: [ELM327 v1.5] Turning off echo DEBUG: Sending command: ATE0 DEBUG: gotLine true DEBUG: SendCmd resp= >OK DEBUG: Timeout DEBUG: gotLine false DEBUG: SendCmd resp= SendCmd Results: [>OK] DEBUG: Sending command: ATH0 DEBUG: gotLine true DEBUG: SendCmd resp= >OK DEBUG: Timeout DEBUG: gotLine false DEBUG: SendCmd resp= SendCmd Results: [>OK] DEBUG: Sending command: ATR1 DEBUG: Timeout DEBUG: gotLine true DEBUG: SendCmd resp= >OK DEBUG: Timeout DEBUG: gotLine false DEBUG: SendCmd resp= SendCmd Results: [>OK] DEBUG: Sending command: ATSH 7DF DEBUG: Timeout DEBUG: gotLine true DEBUG: SendCmd resp= >OK DEBUG: Timeout DEBUG: gotLine false DEBUG: SendCmd resp= SendCmd Results: [>OK] DEBUG: Sending command: 09 02 DEBUG: Timeout DEBUG: gotLine true DEBUG: SendCmd resp= >NO DATA DEBUG: Timeout DEBUG: gotLine false DEBUG: SendCmd resp= SendCmd Results: [>NO DATA] panic: runtime error: index out of range

goroutine 16 [running]: runtime.panic(0x763680, 0xba309c) /usr/lib/go/src/pkg/runtime/panic.c:279 +0xf5 canibus/candevice.(_Elm327).GetVIN(0xc20830c000, 0x0, 0x0) /home/cuonic/Git/CANiBUS/src/canibus/candevice/elm327.go:134 +0xe5c canibus/candevice.(_Elm327).Init(0xc20830c000, 0xc20803e801) /home/cuonic/Git/CANiBUS/src/canibus/candevice/elm327.go:68 +0x441 canibus/server.InitDrivers() /home/cuonic/Git/CANiBUS/src/canibus/server/devicemgr.go:11 +0xb8 main.main() /home/cuonic/Git/CANiBUS/src/canibus/canibusd/main.go:58 +0x87

goroutine 19 [finalizer wait]: runtime.park(0x414040, 0xbbb370, 0xba7169) /usr/lib/go/src/pkg/runtime/proc.c:1369 +0x89 runtime.parkunlock(0xbbb370, 0xba7169) /usr/lib/go/src/pkg/runtime/proc.c:1385 +0x3b runfinq() /usr/lib/go/src/pkg/runtime/mgc0.c:2644 +0xcf runtime.goexit() /usr/lib/go/src/pkg/runtime/proc.c:1445

goroutine 17 [syscall]: runtime.goexit() /usr/lib/go/src/pkg/runtime/proc.c:1445

goroutine 34 [syscall]: syscall.Syscall(0x0, 0x4, 0xc208052e00, 0x80, 0x6, 0x80, 0x0) /usr/lib/go/src/pkg/syscall/asm_linux_amd64.s:21 +0x5 syscall.read(0x4, 0xc208052e00, 0x80, 0x80, 0x7f1c30e4f000, 0x0, 0x0) /usr/lib/go/src/pkg/syscall/zsyscall_linux_amd64.go:838 +0x75 syscall.Read(0x4, 0xc208052e00, 0x80, 0x80, 0x1, 0x0, 0x0) /usr/lib/go/src/pkg/syscall/syscall_unix.go:136 +0x5c os.(_File).read(0xc208034020, 0xc208052e00, 0x80, 0x80, 0x427d53, 0x0, 0x0) /usr/lib/go/src/pkg/os/file_unix.go:190 +0x62 os.(_File).Read(0xc208034020, 0xc208052e00, 0x80, 0x80, 0x80, 0x0, 0x0) /usr/lib/go/src/pkg/os/file.go:95 +0x98 canibus/serialbuffer.(_SerialBuffer).Read(0xc20830c000, 0x0, 0x0, 0x0, 0x0, 0x0) /home/cuonic/Git/CANiBUS/src/canibus/serialbuffer/serialbuffer.go:137 +0xe0 canibus/serialbuffer.func·001() /home/cuonic/Git/CANiBUS/src/canibus/serialbuffer/serialbuffer.go:80 +0x32 created by canibus/serialbuffer.(_SerialBuffer).ReadLn /home/cuonic/Git/CANiBUS/src/canibus/serialbuffer/serialbuffer.go:80 +0x1a5

goroutine 33 [syscall]: syscall.Syscall(0x0, 0x4, 0xc208052c80, 0x80, 0x3, 0x80, 0x0) /usr/lib/go/src/pkg/syscall/asm_linux_amd64.s:21 +0x5 syscall.read(0x4, 0xc208052c80, 0x80, 0x80, 0x7f1c30e4f000, 0x0, 0x0) /usr/lib/go/src/pkg/syscall/zsyscall_linux_amd64.go:838 +0x75 syscall.Read(0x4, 0xc208052c80, 0x80, 0x80, 0x1, 0x0, 0x0) /usr/lib/go/src/pkg/syscall/syscall_unix.go:136 +0x5c os.(_File).read(0xc208034020, 0xc208052c80, 0x80, 0x80, 0x427d53, 0x0, 0x0) /usr/lib/go/src/pkg/os/file_unix.go:190 +0x62 os.(_File).Read(0xc208034020, 0xc208052c80, 0x80, 0x80, 0x80, 0x0, 0x0) /usr/lib/go/src/pkg/os/file.go:95 +0x98 canibus/serialbuffer.(_SerialBuffer).Read(0xc20830c000, 0x0, 0x0, 0x0, 0x0, 0x0) /home/cuonic/Git/CANiBUS/src/canibus/serialbuffer/serialbuffer.go:137 +0xe0 canibus/serialbuffer.func·001() /home/cuonic/Git/CANiBUS/src/canibus/serialbuffer/serialbuffer.go:80 +0x32 created by canibus/serialbuffer.(_SerialBuffer).ReadLn /home/cuonic/Git/CANiBUS/src/canibus/serialbuffer/serialbuffer.go:80 +0x1a5

Also using ELM327 via Bluetooth

— Reply to this email directly or view it on GitHub https://github.com/Hive13/CANiBUS/issues/1#issuecomment-120552430.

ghost commented 8 years ago

Hello ZombieCraig, I have made a device which reads all the data on OBD port CAN bus. Also I can request for the data. I am getting a huge amount of data(all the traffic on CAN bus) and I don't know how interpolate which data belongs to what thing and which of the data belongs to my request. I have Honda Jazz(2012). Can you please guide me how can I proceed further?