Repairing a Teac CD-P1450 CD player

I love bargains… and I like fixing stuff… and sometimes the two overlap.

At my church I have responsibility for the sound equipment. Every Sunday we have a band at each service, so we are doing live sound engineering wtih a mixture of acoustic and electric instruments as well as vocals, drums etc. The detail of this is probably for another post as there are quite a few interesting things to say about it. However because of this I’m always on the lookout for kit to add in, and we were in need of a good quality rack mounted CD player. These are quite hard to find nowadays because CDs are so out of fashion – you can buy them new, but they tend to be excessively expensive – often many hundreds of pounds. Even ebay isn’t that great for them as the need for rack mount units has never been that great. You can of course shoehorn in domestic players but even that isn’t quite the same. Also, modern units have very few front panel controls which are very important in a sound engineering setup.

I was at a radio rally recently and I happened upon this, for which I paid £10. It is a Teac CD-P1450 which is a rack mount player with lots of buttons and controls and a few ‘pro audio’ features including a tone control.

The one I have got has the proper rack ears, and the feet are removable to allow it to fit flush. I liked the design and construction of it, and a quick test when I got home seemed to suggest that all was well. However, after mounting it in the rack at church it soon became clear that there were problems, and it was jumping and skipping around when playing CDs for any time.

This was very irritating – and meant we have had to go back to an ancient and tatty (and not rack mounted) Goodmans player which was bought cheaply about 20 years ago but has been extremely reliable.

I was on the point of giving up on this as a bad job, but I really did want to get it working. I have read around a bit, and the most likely culprit for these problems seems to be the laser, which is the only thing which is likely to wear out. I found some very technical articles about alignment, focus etc but overall it seemed the first thing to do would be to replace the laser and see where this took me.

I was pleased to be able to find (quite easily) the service manual online (available here among other places). This was unfortunately of little help in fixing it – in that it had no fault finding guides at all – although it did provide a very detailed tear down with every part and assembly right down to each screw individually identified.

Consulting the diagrams gave a promising start:

assembly

And consulting the parts list revealed:

partSo it appears that the whole laser assembly, including the head, CD spindle and other associated gubbins should be available as a single part. This might just be the answer to my problem.

This is where the Internet comes into its own, and I still find it amazing that with just a few clues like this you can track things down. I started with the Teac part number (13933102) which didn’t yield much, just a few references to an old parts catalogue and the fact that it was no longer available. I then tried some searches for ‘laser P1450’ and similar, and I did find an ebay seller in the US who seemed to have the right part. However it would be expensive to ship and cost about £40 all in.

Some more googling around revealed something else interested – there was also an identical version of my player sold by Tascam under the name CD-160. This is not that surprising, as I have now also found out that Tascam is the brand used by Teac for their pro-audio gear. Here is the CD-160 and the similarities are striking!

CD-160_front-dd334569e7891c05fd21f4d401e1ce4c

I think I prefer the rather more sober looks of this one as the red buttons are a bit jarring on mine. I wonder what the price difference was when new – I have always found Tascam kit to be outrageously expensive for what it is and I bet many of their ‘pro’ products are simply rebadged domestic units.

I broadened the search to look for ‘CD-160 laser’ and found a chinese site via alibaba selling them for what seemed not too bad a price – but the delivery will take ages.

However I then happened upon a UK site with something which looked promising:

denon

This appeared to relate to a Denon part, but the picture looked very like what I needed and the part number in the service manual appeared in the list below. I still thought it was a bit pricey though to take a risk on. A bit more digging on the same site turned up an ‘alternative’ part which looked better still:

sfp101n

So it now appears that what I really need is an SFP101N which looks like a highly generic mechanism used by a large number of different manufacturers. Now why didn’t it say that in the service manual! What is even better is that the mechanism incorporates the CD spindle motor, the laser head and the motor and mount which drives it. So in effect almost all the moving parts in the machine except for the tray motor. So whatever is wrong with mine, this really should fix it.

It did strike me that I probably should go back to ebay again just in case anyone there had these in. Once I put in the magic words SFP101N:

ebay

And so on and so on for page after page. It seems that is it not so hard to find after all… so long as you know what you are looking for. I ordered the cheapest one I could find, and it was delivered within a day or so – great service as always from ebay traders.

Having looked a bit more closely at the mechanism I have, I’ve now found I could have saved a lot of time because the head has ‘Sanyo SFP-101N’ moulded onto it – although in such a way that you need to look closely to see it. Never thought of looking though… d’oh.

This experience so far has made me reflect on what a wonderful thing the Internet is – here is a fairly old and obscure CD player with a faulty component – and after a couple of hours searching I have identified the part needed and ordered it and within less that 48hrs it is in my hand. One could never have done such a thing a few years ago and the player would almost certainly have been consigned to the dustbin. Genuine Teac parts would have been expensive, and for a normal person like me, unobtainable.

The other thing which is interesting is that even the highly expensive professional products still seem to rely on absolutely bog standard hardware – I bet that the SFP101N is used right across the board.

I’ll describe the installation in the next post… and after all this it had better work!

Advertisements

Possible DIY alternative to ComGSM?

I’m feeling on a bit of a roll now… and I think I might have found another DIY means of adding functionality to the Texecom Premiere Elite panel. I’ve always been interested in the idea of adding a mobile phone dialler to the panel to send a text message when the alarm sounds.

First thought was to buy the genuine Texecom add-on, called (predictably) the ComGSM. However, once again there were a few difficulties with this. The unit itself is readily available from the usual sources (eg www.cts-direct.co.uk):

COMGsm

Firstly, you won’t be surprised to learn that I think that this is quite expensive. Secondly, I didn’t really like the way that it was an external box when there is lots of space inside the existing alarm housing.

I looked at some alternatives. You can get on ebay some boxes which take a SIM card, and when triggered send a standard text message to a list of numbers. These are cheaper, and smaller and so easier to install. However, they looked awkward to configure and did feel like a bit of a clumsy solution. It would have been straightforward to trigger it using one of the panel’s outputs though.

Once I started reading the instruction manual for the panel a bit more I preferred the Texecom solution. This was partly because of being able to configure everything easily through Wintex, and also because when it is triggered it sends a much more detailed text message with details of which zone is triggered etc. It also allows a limited control, so you can disarm the alarm and get some status reports by sending text messages as well.

After having some success at getting the serial interface to the panel working (see earlier posts) I decided to investigate a bit further what the panel was doing when the ComGSM was installed, and how it was communicating. The genuine unit is installed by connecting to one of the two serial ports inside the panel, and as I learned when doing the USB interface these are operating as entirely standard ports.

My first thought was that the panel  would send some kind of encoded commands to the ComGSM which were then translated into control of a phone dialler. I thought that it might be possible to use the Raspberry Pi as a ‘man in the middle’ to translate the commands from the panel and then get the Pi to control a dialler. This seemed a tall order, but worth investigating as it would cut the cost down.

As a start, I configured the panel to have a ComGSM installed on the second port, and plugged in the USB-serial adaptor to listen to what it was doing. This is another setting which is buried in Wintex, this time in the ‘Communicator Options’ screen under the ‘Programming’ menu:

CommsMenu CommsOptions

You can set a whole range of different options for either of the built in com ports as Texecom make a whole lot of different ones. For the purpose of this experiment I set it to ‘GSM module’ which is the one for the ComGSM.

I then ran a simple serial terminal program to see what was coming back. At first, I got a series of garbled characters but they repeated regularly. I tried a few differnet combinations at random, sticking to 8 bits, no parity and one stop bit (aka 8N1, the most common configuration) and eventually on selecting 9600 baud, and to my great surpise, I saw the following coming from the panel:

+++

ATZ

ATZ

ATZ

ATH0

These commands were sent in a repeating sequence. These commands form part of the very well known AT command set, which has been used for modems since the 1980s. It used to be known as the ‘Hayes AT’ command set, named after the pioneering modem company which first developed it. I remember using this myself back in late 80s and early 90s, at which time it was not uncommon to control the modem manually using AT commands rather than having it done automatically through comms software. You would send the command ‘AT’ to the modem (short for ATtention) and get back the response ‘OK’. Other commands could be appended to the AT – so ATDT0123123123 would cause the modem to Dial with Tones (rather than pulses) the number. Over the intervening years, the command set has been developed to include a whole range of other commands, and this includes for dealing with mobile phone connections and text messages.

The commands above – +++, ATZ and ATH0 are fairly standard initialisation commands, to reset the modem (ATZ) and hang up any calls (ATH0). I tried sending back the expected repsonse – ‘OK’ – and was pleased see the panel respond with more commands including some newer ones which were for listing out and retrieving stored text messages. This shows some of them:

Realterm

The formatting is a bit strange, but you can see the first commands towards the bottom, and then some more wrapping round including AT +CSQ which is a request for signal strength, and AT +CMGL=”REC UNREAD” which lists out unread text messages. There is a function

So from all this, my conclusion is that the panel is sending out entirely standard messages, so there is no need for any translation at all. I now think that it should simply be a question of finding a GSM modem module and connecting it directly to the panel.

There are quite a few of these to choose from, but in order to keep costs down I decided to order one directly from China via ebay. Many seem to be based on a Siemens module, and they come in all shapes and sizes with various interfaces. However i settled on this one:

2015-04-25 20_32_24-GSM SIEMENS TC35 SMS Board LM2596 UART Wireless With Antenna Voice Module _ eBay

It has a simple serial UART interface so should be able to speak directly to the panel. It also had the advantage of being pretty cheap, although I did have to wait a few weeks to be delivered. It’s only just arrived, and once I’ve had a chance to play with it will post an update. I am hoping that if if works I can mount it inside the casing with the antenna bolted to the top. For me this will be a much neater and more elegant solution than the real one!

Texecom COM-IP controller – DIY and cheap too!

Having had some success in building a DIY equivalent to the USB-COM cable, I started to think about the COM-IP controller. Texecom sell this at great expense. It provides an Ethernet interface from the panel, which allows you to configure the panel over the network rather than having to connect directly to the panel. It also allows you to connect other things in to the panel to provide remote control or get status information from it. The first problem is the price. CTS-Direct have it for just over £90 plus delivery and this seems to be about right. Numerous other retailers have it for the same price although there are some second hand deals on ebay which are a bit better. However this still costs more than the panel did which seems a bit much for such a tiny device: COMIP I have been investigating linking the panel up with other home automation kit (more later) and someone suggested to me that you could use ser2net running on a Raspberry Pi or similar in conjunction with the USB serial connection I already had in order to give the same results. First thing was to see what the serial connection is actually doing, and establish what the parameters for the serial connection are. I used a serial port sniffer to identify this. I tried a few but eventually found ‘Free Device Monitoring Studio‘ which is massive overkill, but does provide the basic functions needed. I ran this whilst connecting to the panel with Wintex. I was hoping to see some comprehensible data but in fact it is clearly encoded. However, I was able to get the serial parameters out which are:

19200 baud, 8 data bits, no parity, 2 stop bits

This is the first time I have ever seen a serial link which uses 2 stop bits – so maybe this is a sneaky trick by Texecom to get you to buy their product. If so then it is fairly easy to get around. The next thing to do is to set up ser2net. It forms part of most Linux repositories, and the Raspberry Pi is no exception. I’ve started with a fairly basic and clean install, booting to the command line. Then I have installed ser2net like so:

apt-get install ser2net

Then plug in the serial cable and it should be recognised and appear as a serial device. You can use the ‘dmesg’ command in Linux to check. I’m using a FTDI 232R device:

[166583.359561] usb 5-1: new full-speed USB device number 2 using ohci-pci
[166583.821660] usb 5-1: New USB device found, idVendor=0403, idProduct=6001
[166583.821673] usb 5-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[166583.821680] usb 5-1: Product: FT232R USB UART
[166583.821685] usb 5-1: Manufacturer: FTDI
[166583.821690] usb 5-1: SerialNumber: A9C3JDH1
[166583.927074] usbcore: registered new interface driver usbserial
[166583.927109] usbcore: registered new interface driver usbserial_generic
[166583.927136] usbserial: USB Serial support registered for generic
[166583.936455] usbcore: registered new interface driver ftdi_sio
[166583.936482] usbserial: USB Serial support registered for FTDI USB Serial Device
[166583.936601] ftdi_sio 5-1:1.0: FTDI USB Serial Device converter detected
[166583.936658] usb 5-1: Detected FT232RL
[166583.936662] usb 5-1: Number of endpoints 2
[166583.936665] usb 5-1: Endpoint 1 MaxPacketSize 64
[166583.936669] usb 5-1: Endpoint 2 MaxPacketSize 64
[166583.936672] usb 5-1: Setting MaxPacketSize 64
[166583.939669] usb 5-1: FTDI USB Serial Device converter now attached to ttyUSB0

The next step is to set up ser2net to connect to the USB serial port and convert it to network frames. This is done by putting a line in the configuration file – held in /etc/ser2net.conf. I’ve used this line:

10001:raw:0:/dev/ttyUSB0:19200 8DATABITS NONE 2STOPBITS

‘10001’ is the port number (used later); ‘raw’ means that there is no further processing of the frames; ‘/dev/ttyUSB0’ is the name of the serial device as above; the rest of the line contains the serial parameters we found above. Restart ser2net to re-read the config file, and then you will have in effect a working equivalent of the COM-IP. To make use of it you will need to IP address of the server running ser2net and the port number as above. The most obvious use of this is to use Wintex (the Texecom configuration tool) over the network. Configuring this is the same as for the genuine COM-IP although it is a little obscure. You need to go into ‘Edit Account’ in Wintex: Screenshot 2015-04-16 19.45.22 And then select the ‘Panel Details’ tab: Screenshot 2015-04-16 19.45.54 It’s hidden away in the bottom right hand corner under ‘Network Details’ – here you need to enter the IP address of the server, and the port configured in ser2net. Once you’ve done this, you can connect to the panel using the ‘Connect’ button in the Wintex main screen and proceed as normal. So far as I can tell this approach exactly replicates the function of the real COM-IP but at a fraction of the price, or indeed free if you already have a Raspberry Pi or a server lying around. There are some other interesting ideas for making use of this which I’ll come to in future posts.

COM-USB alternative – DIY and cheap!

One of the things which really attracted me to the Texecom panels was the ability to interface them directly with the computer – and other things (to be described in a future post). However, in order to do this you need to buy a fairly expensive cable from Texecom – the COM-USB:

Texecom COM-USB

These seem to retail for about £40, although there are some cheaper 3rd party versions on ebay for rather less, which seem to do exactly the same job:

usb-com

However even this seems a bit steep for what looks a fairly simply USB cable, and the pins on the Premier Elite main board also appear fairly standard.

I then came across this extremely helpful post:

http://cybergibbons.com/alarms-2/programming-a-texecom-premier-elite-12-w-using-a-ftdi-cable/

In which the author has discovered that the connector on the board is no more than a straightforward serial connection, with three pins – TXD, RXD and GND – connected. Using a USB-serial converter he was able to get everything working with the official ‘Wintex’ software which is a free download from Texecom.

I took a slightly different approach and bought from ebay a very small board which converts a mini-USB plug into serial with pins and solder points as outputs. It was about £4 delivered.

I bought one of these

I then used an old motherboard header cable directly soldered to the TXD, RXD and GND points on the board above, and connected the other end to pins 3 (GND), 4 (TXD) and 5 (RXD) at the Texecom end. So in other words the data is received by the Texecom on pin 4, and transmitted from pin 5. Once this was all wired up I secured the board inside the casing with a cable tie and ran a USB lead outside the box.

The end result looks like this:

So a very cheap solution which is just as good as the £40 official alternative.

RTFM

An early opportunity to relearn the important principle of reading the manual.

I had installed one of the zones using a smoke detector, again a straight replacement for the old one. The manual said that it used a ‘normally closed’ relay which opened in an alarm or fault condition. So I wired it up (like the other sensors) to the alarm terminals.

For each zone there are two pairs of terminals – two marked ‘A’ for alarm sensing, and two marked ‘T’ for tamper returns. I had wired the detector up to the ‘A’ terminals, thinking ‘it’s a smoke alarm… why would it need a tamper circuit’. Also of course there are no tamper detectors in the smoke alarm anyway.

Cue a load of headscratching, as however I configured the detector in the software it always returned an alarm condition (it comes up as ‘active’). This is an issue because it stops the alarm setting and all I could do to start with was exclude it completely.

Eventually after a lot of searching I found a reference somewhere to using the ‘T’ terminal and this prompted me, finally, to read the manual. I found this:

wiring

D’oh!

One change of terminal later, and now everything works fine.

Life’s lessons learned once again

Texecom alarm system – first steps and installation

I’ve just upgraded the alarm system in my house. When we moved in several years ago there was an ancient ADT installed alarm system. This had been monitored by phone, but when we came we pulled out a lot of the wiring and more to the point didn’t want to pay any monitoring charges.

The system has been rather temperamental since then, and I’ve been keen to change it ever since. The reason for doing so is that I’ve wanted something more reliable and higher tech… and also I’m intrigued by the possibilties for tinkering that this offers.

I did quite a lot of research, and I ended up choosing a Texecom system. This seems to be a cut above the normal domestic brands and are clearly used in a lot of professional settings. I wanted to reuse as much of the existing wired infrastructure as possible, and so I needed at least 6 wired zones. I also wanted to option of using a wireless expansion for extra zones, plus as much options for connectivity as possible. I decided to replace all the sensors as well with modern equivalents.

I bought the following:

Texecom Premier Elite 48

Texecom Premier Elite LCDLP keypad

I was surprised how cheap they were – about £90 each. The keypad has a big display, and support proximity tags as well as some zone expansion. The keypads come in all shapes and sizes – you can get brass, metal, chrome and plastic versions, include a range which can be sunk into the wall. I ended up picking the plastic one because it was cheaper and I’m not quite ready to bash big holes in the wall.

Installation was pretty easy – just a question of stripping the old box out and rewiring the old zones to the new ones. Then the fun begins…

Starting again

I’m keeping this new blog to make a note of various interesting things I come across. I am a complete amateur when it comes to computers, electronics or other technology but I am interested in it. I’m always on the lookout for interesting things to do and I hope some of the things I find out as I go along are of interest.

I have learned lots of things over the years and I want to be able to make a note of them, and hopefully help others in a similar situation.

As I write this there are a few projects on the go – I’m working on an improved control system for my domestic heating, and I’ve just installed a new Texecom alarm system. Both of these are stimulating projects and I will try to document some of what I’ve done.

I’d love to hear from anyone else with similar interests