VM205 stopped working on PI 3


#1

Up until recently the VM205 was working without problem on the PI 3. Following a recent kernel update, it has stopped working and failed with the message ‘rpi_hal: bot running on known rpi HW’

From inspecting the code, the problem appears to be in the rpi_hal.pas module in that the hardware is now reporting as BMC2835 in /proc/cpuinfo.

Any chance of a software update?


#2

I installed the following software on Raspberry Pi 3 Model B V1.2:
RASPBIAN JESSIE WITH PIXEL
Version:April 2017
Release date:2017-04-10
Kernel version:4.4

With this version the VM205 seems to work without any problems.
The VM205 software is version 1.2.

What are your software/hardware versions?


#3

It stopped working after an an update a day or so ago. I just did a standard update to the latest on everything.

uname -a
Linux raspberrypi 4.9.24-v7+ #993 SMP Wed Apr 26 18:01:23 BST 2017 armv7l GNU/Linux

ore /proc/cpuinfo
processor : 0
model name : ARMv7 Processor rev 4 (v7l)
BogoMIPS : 38.40
Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0xd03
CPU revision : 4

processor : 1
model name : ARMv7 Processor rev 4 (v7l)
BogoMIPS : 38.40
Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0xd03
CPU revision : 4

processor : 2
model name : ARMv7 Processor rev 4 (v7l)
BogoMIPS : 38.40
Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0xd03
CPU revision : 4

processor : 3
model name : ARMv7 Processor rev 4 (v7l)
BogoMIPS : 38.40
Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0xd03
CPU revision : 4

Hardware : BCM2835
Revision : a02082
Serial : 0000000045937492

Initial part of dmesg:-
[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Linux version 4.9.24-v7+ (dc4@dc4-XPS13-9333) (gcc version 4.9.3 (crosstool-NG crosstool-ng
-1.22.0-88-g8460611) ) #993 SMP Wed Apr 26 18:01:23 BST 2017
[ 0.000000] CPU: ARMv7 Processor [410fd034] revision 4 (ARMv7), cr=10c5383d
[ 0.000000] CPU: div instructions available: patching division code
[ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[ 0.000000] OF: fdt:Machine model: Raspberry Pi 3 Model B Rev 1.2
[ 0.000000] cma: Reserved 8 MiB at 0x3d800000
[ 0.000000] Memory policy: Data cache writealloc
[ 0.000000] On node 0 totalpages: 253952
[ 0.000000] free_area_init_node: node 0, pgdat 80c6edc0, node_mem_map bcf3e000
[ 0.000000] Normal zone: 2232 pages used for memmap
[ 0.000000] Normal zone: 0 pages reserved
[ 0.000000] Normal zone: 253952 pages, LIFO batch:31
[ 0.000000] percpu: Embedded 14 pages/cpu @bcef8000 s25600 r8192 d23552 u57344
[ 0.000000] pcpu-alloc: s25600 r8192 d23552 u57344 alloc=14*4096
[ 0.000000] pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3
[ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 251720
[ 0.000000] Kernel command line: 8250.nr_uarts=0 bcm2708_fb.fbwidth=720 bcm2708_fb.fbheight=480 bcm2708
_fb.fbdepth=16 bcm2708_fb.fbswap=1 vc_mem.mem_base=0x3ea00000 vc_mem.mem_size=0x3f000000 dwc_otg.lpm_enab
le=0 console=tty1 root=/dev/mmcblk0p7 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait
[ 0.000000] PID hash table entries: 4096 (order: 2, 16384 bytes)
[ 0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
[ 0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
[ 0.000000] Memory: 985024K/1015808K available (7168K kernel code, 483K rwdata, 2012K rodata, 1024K ini
t, 778K bss, 22592K reserved, 8192K cma-reserved)

Any more info required?


#4

Thank you for the info.
It seems that you have kernel version 4.9.
Also it seems that the VM205 does not work with this kernel version.
I’m sorry, but at the moment the (only) workaround to get your VM205 working, is to downgrade to the previous kernel version 4.4.
Here’s info how to upgrade/downgrade to a specific firmware-kernel version:
tech.enekochan.com/en/2014/03/0 … -raspbian/

Here is some info about the version 4.9:
raspberrypi.org/forums/view … 9&t=167934


#5

Thanks for the info.

Do you have a timescale as to when the issue will be fixed? Obviously as 4.9 is the latest kernel version, the problem is going to be more of a problem as Pis star to be shipped with the latest kernel. It looked like it maybe as simple as a one line change.


#6

Indeed, the solution may be easy but at the moment the problem is not yet located.
Work will be done to locate the problem (if possible).
The VM205 software source is free.

[quote]It looked like it maybe as simple as a one line change.[/quote]We would be very happy for any hints how to fix the problem…


#7

The problem seems to be in the function rpi_mmap_get_info of rpi_hal.pas. The obvious starting point would be to add an additional test for the string BCM2835. On its own this may be enough. It depends upon whether a different Peripheral Base value also needs to be set (same routine).


#8

Thank you for the hint.
I’ll try to check the function.


#9

Thank you for your feedback and assistance.
The issue is now resolved by modifying the function according to your advice.
The updated VM205 software (rev. 1.3) will be soon available on Velleman website.