If you do have a RFM12B module, you will need to upload the RFM12B version of the software to the RFM12Pi board. The RFM12Pi will lock up and not boot if it really is a RFM12B and loaded with the RFM69CW software.
RFM12B modules have been known to fail, especially the “black blob” sort
A faulty RFM will prevent the RFM12Pi from booting and hence from working. I can’t confirm that a faulty RFM12Pi will definitely prevent the RPi from booting.
The baud rate and frequency should not prevent the RPi from booting, the RFM just won’t communicate with the Pi (wrong baud rate) or with the emonTx & emonTH (wrong frequency).
If you think the RFM has failed - and it does seem likely, it’s worth emailing the shop [email protected] to see if they can do you either a RFM12Pi or a RFM69Pi at 868 MHz (normally, only 433 MHz is available now) or if they can’t help, Martin Harizanov.
In the meantime I tried vanilla Raspbian + serial => it is booting (also RM12Pi blinking during boot).
I tried the following command:
pi@emonPi:~ $ sudo avrdude -c arduino -p ATMEGA328P -P /dev/ttyAMA0 -b 38400
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x00
pi@emonPi:~ $ sudo avrdude -c arduino -p ATMEGA328P -P /dev/ttyAMA0 -b 38400
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x00
^C
pi@emonPi:~ $ sudo avrdude -c arduino -p ATMEGA328P -P /dev/ttyAMA0 -b 57600
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x00
^C
pi@emonPi:~ $ sudo avrdude -c arduino -p ATMEGA328P -P /dev/ttyAMA0 -b 9600
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x00
“Not responding” means that the RPi can’t communicate with RFM12B module. I don’t know if the latest RPi operating system has kept the same names for the serial ports. We need a Raspberry Pi expert to tell us if “ttyAMA0” is correct for your Pi Model B.
Exact replacement part (RFM12B 868MHz Crystal Can) are available at the JeeLabs Shop if you really have to change the module - it isn’t easy to remove the old module without damaging the PCB pads.
Just a thought, I had the same problem when using a pi2 but there was an instruction in the release notes to comment out the arm_freq line in /boot/config.txt. (I’m not exactly sure what Pi you have)
* To use this image on Pi2 remove the following lines from /boot/config.txt:
arm_freq=1200
arm_freq_min=600
Edit: I noticed you had it working with stock raspbian and only started hanging when enabling serial port. So this is probably irrelevant.