About the author
While at a customer site working on an Internet down issue, I came across several issues.
The customer told me that the Internet connection was down, and wondered if it was due to the reason that they switched over from one ADSL line to another.
On the new line, a new Thomson router 2701HGV-E (commonly known as a Mio box) was connected to it, with nothing else besides the power connected. Since the customer knew nothing about the network configuration, I had to discover it on my own.
There was a DLink switch below the Thomson router, however, the switch did not have a connection to the Thomson router. "Is that why their Internet connection is down?" I thought.
Checking the customer's computers, I discovered that the customer's PCs were running on the 192.168.1 network. I discovered this using ipconfig (this was on Windows), and got the following:
Ethernet adapter Local Area Connection: Connection-specific DNS Suffix . : IPv4 Address. . . . . . . . . . . : 192.168.1.2 Subnet Mask. . . . . . . . . . . : 255.255.255.0 Default Gateway . . . . . . . . . : 192.168.1.254
Since I discovered the router was on 192.168.1.254, I attempted to go to its configuration page from a browser using http://192.168.1.254 however, I received no response.
Next, I tried telnet 192.168.1.254 and was presented with a login prompt. I checked with the customer, and since they didn't know the password, I couldn't login to the router.
I then tried connecting the Thomson router direct to a PC, and ran arp. Why arp? IP networks maintain a mapping between the IP address of a device and its MAC address. This mapping is known as the ARP cache or ARP table. The arp application supports the logic for obtaining this mapping.
I then discovered that the Thomson router is running on 192.168.0.254. Since I did not know where 192.168.1.254 is located (and the DHCP server is running there, which allocates IP addresses), I decided that the quick fix was to get my assistant to allocate IP addresses statically so that the customers can get their Internet up and running.
After the customers got their whole office up and running, then it occurred to me that I should be able to figure out where their existing router is by getting the MAC address of the router using ARP, and then look up the vendor using the first part of the MAC address. Subsequently, I discovered that the customer was running on a Cisco router, pulled out the router, reset the Thomson router to take over servicing of the 192.168.1 network (since the customer had existing devices that had static IP addresses on the 192.168.1 network), and updated all the machines to get their IP dynamically again.
Continued discussion of undocumented Delphi 8 Property Access Specifiers, and other ways of adding and removing delegates / events handlers, including clearing the list of all the delegates / event handlers.
This article discusses the new Delphi 8 property access specifiers.
A method pointer is now the same as a global procedure, ie, procedure of object = procedure.