I would like to use an RPi as an analog landline, and was wondering if instead of having to use a serial port to connect a modem that generates DTMF, if the Ethernet port could be used to generate analog signals and plugged into my Telephone Provider's jack at home, sort of as a replacement landline? I'm new to the RPi and to telephone signals, so if this is a noob question or offends anyone, sorry for that....

  • You could do that only if you would find ( or design ) a specific shield with some hardware additions .. Sep 23 '15 at 15:13

Impossible. Even if you'd be able to somehow alter the driver software of the Ethernet port, signal output power wouldn't be enough. On top of that, the LAN hardware is designed to generate about 20Mhz, while the POTS (Plain Old Telephone Service) expects much, much lower frequencies ranging from 0.3 till 3.3KHz

The only similarity with LAN and POTS is the style of connectors. Basically - without any intentional ridicul - you might as well try to connect the telephone line with the HDMI port.

You'll have more chance by attaching a traditional modem into the USB port and start experimenting from there. These type of modems are designed to send and receive signals within the desired range. But again you'll have to rewrite the driver software.

Even if you'd had the skills to rewrite the driver, I doubt that the Pi will have enough processing power to encode/decode voice full duplex, in real time. There will be ways to achieve this I'm sure, but it will take an awful lot of research, design and test.

Simple POTS circuitry takes about 20 cheap components, including the microphone and speaker. To replace it with a Pi just doesn't make sense without knowing exactly what you'd like to do.

IMHO the time swallowing vacuum you'll most probably end up with continuing this path, could be better used on getting experience with a technology with future potential, like VOIP. If you want to balance between POTS and VOIP, there are ATA adaptors available who do the processing for you. Be careful however these are not cheap and definitely not easily configured without VOIP technology experience.


No. Although ethernet jacks are commonly referred to as RJ45 jacks because they have similar characteristics, including a more or less identical looking connector, they in fact are not the same as the RJ45 jacks used in telephone systems. From wikipedia:

It is very common to use a registered jack number to refer to the physical connector itself; for instance, the 8P8C modular connector type is often called RJ45 because the Registered Jack standard of that name was an early user of 8P8C modular connectors. A very popular use of 8P8C today is Ethernet over twisted pair, and that may be the most well known context in which the name RJ45 is known, even though it has nothing to do with the RJ45 standard.

  • The ethernet jack is an RJ-45 jack - the exact same RJ-45 jack as used in a telephone system (although RJ-11 and RJ-17 are more common there). However, RJ-45 is just a connector standard for 8 wires in a given form factor - what you carry over those wires is independent. Sep 18 '15 at 15:41
  • If the issue is the pin assignments, then it would mean although the jack is physically identical if you cut it out of the board, it would not be possible to pair it with a true RJ45 telephone connector on the board. "What you carry over those wires", in terms of the purpose of each line, may not be determinable purely with software. I'm not saying you're wrong, but there is something to the fact that various sources will say that "ethernet uses an 8P8C connector, which is not necessarily an RJ45 connector".
    – goldilocks
    Sep 18 '15 at 16:02
  • E.g. gadgets.myddnetwork.com/… ...it does seem to come down to the "wiring pattern", which is more specific for RJ45 and might not be implementable with an ethernet jack wired as an ethernet jack.
    – goldilocks
    Sep 18 '15 at 16:04

In theory you could maybe trick the ethernet controller into generating the analog signals you require, but that would be somewhat insane (and require all kinds of undocumented SoC hackery).

Instead you should just use the GPIO ports to do what you want. You might be able to bit-bang what you want over the GPIO, but you'd be better off finding an actual modem module to interface with - something like the CX93011. You might be able to find existing boards built around such a chip that are relatively easy to interface with.

Edit: someone did this a few years ago with an Arduino - their experience might be useful to you.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.