[SOLVED] Display Resolution Raspberry Pi B vs. B+ 640x480 vs 1920x1080

I came across a strange behaviour. When I boot my old Raspberry Pi B with the SD card that works nicely in my B+ (displaying at 1920x1080 the B is only running with 640x480. When I go to System -> Video Output and change from Desktop to 1920x1080p everything is fine (boot screen remains in 640x480).

Same TV?
Same HDMI cable?

Yes, same TV and HDMI cable. All same same just change the board

Same sdcard?

Yes, same SD card! As I wrote I just swap the board from a B+ to a B

Can you run:

tvservice -m CEA
tvservice -d edid.dat

on each board are report the output.

Ok, will do this evening when I have access to the TV

@popcornmix,

Once again to clarify, all same (SD Card, TV, Cables,…) just exchanged the board.

Here the file:
https://dl.dropboxusercontent.com/u/88660355/edid_B%2B.dat

here the info from the B+

osmc@osmc:~$ tvservice -m CEA
Group CEA has 14 modes:
mode 1: 640x480 @ 60Hz 4:3, clock:25MHz progressive
mode 2: 720x480 @ 60Hz 4:3, clock:27MHz progressive
mode 3: 720x480 @ 60Hz 16:9, clock:27MHz progressive
mode 4: 1280x720 @ 60Hz 16:9, clock:74MHz progressive
(native) mode 5: 1920x1080 @ 60Hz 16:9, clock:74MHz interlaced
(prefer) mode 16: 1920x1080 @ 60Hz 16:9, clock:148MHz progressive
mode 17: 720x576 @ 50Hz 4:3, clock:27MHz progressive
mode 18: 720x576 @ 50Hz 16:9, clock:27MHz progressive
mode 19: 1280x720 @ 50Hz 16:9, clock:74MHz progressive
mode 20: 1920x1080 @ 50Hz 16:9, clock:74MHz interlaced
mode 31: 1920x1080 @ 50Hz 16:9, clock:148MHz progressive
mode 32: 1920x1080 @ 24Hz 16:9, clock:74MHz progressive
mode 33: 1920x1080 @ 25Hz 16:9, clock:74MHz progressive
mode 34: 1920x1080 @ 30Hz 16:9, clock:74MHz progressive
osmc@osmc:~$ tvservice -d edid_B+.dat
Written 256 bytes to edid_B+.dat
osmc@osmc:~$ cat /proc/cpuinfo
processor : 0
model name : ARMv6-compatible processor rev 7 (v6l)
BogoMIPS : 2.42
Features : half thumb fastmult vfp edsp java tls
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0xb76
CPU revision : 7

Hardware : BCM2708
Revision : 0010
Serial : 0000000078efc084

########################

And here the B

osmc@osmc:~$ tvservice -m CEA
Group CEA has 2 modes:
mode 4: 1280x720 @ 60Hz 16:9, clock:74MHz progressive
mode 16: 1920x1080 @ 60Hz 16:9, clock:148MHz progressive
osmc@osmc:~$ tvservice -m CEA
Group CEA has 2 modes:
mode 4: 1280x720 @ 60Hz 16:9, clock:74MHz progressive
mode 16: 1920x1080 @ 60Hz 16:9, clock:148MHz progressive
osmc@osmc:~$ tvservice -d edid_B.dat
Nothing written!
osmc@osmc:~$ cat /proc/cpuinfo
processor : 0
model name : ARMv6-compatible processor rev 7 (v6l)
BogoMIPS : 2.00
Features : half thumb fastmult vfp edsp java tls
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0xb76
CPU revision : 7

Hardware : BCM2708
Revision : 0002
Serial : 00000000e0151baf

Looks like the B cannot read the EDID (hence not being able to extract the preferred mode).
If everything apart from the Pi is the same (e.g. same cable and TV) then that suggests a hardware fault.

Have a close look at the hdmi socket on the B Pi. Make sure no bits of fluff in the socket. Make sure the soldered connector looks good (no shorted or disconnected pins). Make sure the contacts inside the socket are not damaged.

The DDC pins are most likely (pins 15,16,17)

Fortunately even if the hardware problem can’t be fixed you can work around it in software.
Follow these directions but capture the edid.dat file on the B+. When that sdcard is used on the B you should find you have the correct resolutions available.

@popcornmix, many thanks for all your help. I will take a close look at the HDMI connector. Otherwise will use the workaround with the edid.dat file