Slashdot Mirror


Ask Slashdot: Best Way To Solve a Unique Networking Issue?

New submitter petro-tech writes: I work as a service technician, maintaining and repairing gas pumps and POS equipment. In my day to day activities, one that consumes a ton of time and is relatively regular is the process of upgrading the software on pumps. This is done by connecting to the pump via direct ethernet from my laptop, then running a manufacturer-provided program that connects to the device and pushes the new software. Some sites have 8+ pumps with 2 devices in each, and at 20-30 minutes apiece this can be quite time consuming. Unfortunately the devices are not actually on a network, and as such cannot be updated remotely, also since they are not on a network, they are all configured with the same IP address. Additionally the software doesn't allow you to specify the adapter to use. I would like to be able to get to a site, connect a cable to each pump, and load them all at the same time. The only way I can figure to accomplish this with the software we've been provided is to do this: Get a 16-port powered USB hub, with a usb-ethernet adaptor in each port; Set up 16 VM's with extremely stripped down XP running on each, with only one USB-ethernet adaptor assigned to each VM; Set XP to boot the application for loading software as its shell; and load each device that way at the same time. Is there a better way to accomplish this? Have a question for Slashdot's readers? Take a look at other recent questions first to see if someone else has had a similar question. And if not, ask away! The more details and context you include, the more likely your question will be selected.

30 of 384 comments (clear)

  1. It's not a networking issue. by xxxJonBoyxxx · · Score: 4, Funny

    >> Unfortunately the devices are not actually on a network

    So...it's not a networking issue?

    1. Re:It's not a networking issue. by antiperimetaparalogo · · Score: 4, Informative

      >> Unfortunately the devices are not actually on a network

      So...it's not a networking issue?

      No, it is a networking issue; nodes are nodes, even if not connected - what the guy does normaly is a network with 2 nodes, now wants more.

      --
      Antisthenes: "Wisdom begins by examining the words/names." - excuse my English, i am (slightly...) better with my Greek!
    2. Re:It's not a networking issue. by ArmoredDragon · · Score: 5, Informative

      I think what he's asking is whether or not he can network them together even though they all have the same IP address. And the answer is yes.

      As a network engineer, I can think of a way with a Cisco catalyst switch, OR, a linux box with multiple ethernet ports:

      For a Cisco switch, get a layer 3 switch, enable ip routing, put each switch port on a separate vlan, create an SVI for each vlan that is on a /30 subnet using the first address of that subnet. Create an access control list so that all traffic that goes ingress to the second IP address of the vlan subnet has its destination address changed to the static IP address of the equipment and the source address changed to be the IP address of the SVI, and then change all egress traffic from the second subnet IP to change the destination address to match that of your laptop and the source address to match that of the second IP address in the subnet.

      For a linux box you'd do the same thing, only using SNAT and DNAT in iptables.

      Effectively what you're doing is creating a NAT table that allows you to uniquely address each device, without actually changing the IP addresses themselves to become unique.

      If you're not very affluent in networking, the above will sound VERY confusing, but trust me it can be done.

    3. Re:It's not a networking issue. by g0bshiTe · · Score: 4, Funny

      I think you like many are missing the main question and would in fact be the only question I'd ask him and it would determine if you should continue or stop right there.

      Are you paid by the hour? If yes, what the actual fuck are you thinking?

      --
      I am Bennett Haselton! I am Bennett Haselton!
    4. Re:It's not a networking issue. by ArmoredDragon · · Score: 5, Insightful

      I think you like many are missing the main question and would in fact be the only question I'd ask him and it would determine if you should continue or stop right there.

      He offered me a problem, so I offered him a solution. I'm an engineer, I solve problems. He didn't ask for security (which this can be secured by the way, but that involves a bit more discussion, which I don't have enough information to counsel on.)

      Are you paid by the hour? If yes, what the actual fuck are you thinking?

      Have you ever heard of lean principles? Basically by reducing the number of steps it takes to perform a job, you reduce the chance of human error (thus increasing your product's quality) while also lowering costs. Managers who employ this technique love it when employees make suggestions like this that actually work.

      Does his boss appreciate that kind of thing? I don't know, but if I was his boss, and he brought this kind of solution to me, that would gain him some extra brownie points. Instead of having him do that time wasting work, I'd maybe give him better jobs to do that may even pay more, if I had them available.

    5. Re:It's not a networking issue. by rudy_wayne · · Score: 5, Insightful

      I think what he's asking is whether or not he can network them together even though they all have the same IP address. And the answer is yes.

      As a network engineer, I can think of a way with a Cisco catalyst switch, OR, a linux box with multiple ethernet ports:

      Yes, there are a few possible solutions, but I'm surprised that nobody has mentioned the biggest barrier to implementing any of them:

      Trying to connect to 8+ pumps at the same time is going to require running 8+ ethernet cables from a central location to each pump. You're going to have cables all over the place, and unless it is done while the gas station is closed it means people driving over the cables, stepping on them, tripping on them and yanking them out of the socket, etc........

    6. Re:It's not a networking issue. by Anonymous Coward · · Score: 5, Insightful

      As a network engineer, I can think of a way with a Cisco catalyst switch, OR, a linux box with multiple ethernet ports:

      That's way too much complication for what he needs.... Assuming each pump has a unique MAC, all you need to do is a bit of work with ARP tables. Collecting MAC's should be easy, cable up and try and ping the standard IP address... They will all reply to the ARP request. Scrape up the MAC's, dump them into his Virtual Machines running the update software to map that MAC to that IP in the VM and make the assignment never expire. Do your update, the software is unlikely to know the difference... For this approach, you only need a switch/hub and network cables.

      My other idea was to build a VM box with a separate network segment for each VM, then map these all though a Linux VM that puts them on an 802.1q VLAN. Go buy a *cheap* managed switch (and I do mean cheap) and create one trunk port with each other port on a separate VLAN untagged. No need for an expensive Layer 3 switch... In fact, you could set it up on a cheap consumer router running OpenWRT as long as the switch supports VLANs, in which case the most expensive part of the hardware would be the network cabling..

    7. Re:It's not a networking issue. by Krishnoid · · Score: 4, Funny

      If you're not very affluent in networking, the above will sound VERY confusing, but trust me it can be done.

      I think you mean 'fluent', as in you understand networking well. Then again, you could mean that this is expensive, in which case, 'affluent' would be correct. Although, the original problem refers to programming pumps, so it could be 'effluent'.

      Glad I could clarify that.

    8. Re:It's not a networking issue. by mjm1231 · · Score: 4, Funny

      I used to tell this to my boss all the time when we had to make changes to all 500 PC's on the domain, and walking from PC to PC to do it manually was still standard practice. If I screw up with a script, at least they'll all have the same mistake, instead of 500 different mistakes.

      --
      Ideology: A tool used primarily to avoid the bother of thinking.
    9. Re:It's not a networking issue. by spire3661 · · Score: 4, Interesting

      You could fashion a wireless setup pretty easily. Plug Ethernet to wireless dongle into pump, done.

      --
      Good-bye
    10. Re:It's not a networking issue. by gstoddart · · Score: 4, Informative

      But the reality is from the description of this, the manufacturer has done a crap job of building the "networking" part of this, and if you start trying to be clever and hook it up to an actual network you might really fsck it up.

      So, imagine some field tech decided he'd rather find a clever new way to fix things, and then hoses (pun intended) the pumps because he's doing something which the pumps can't actually be made to work with.

      Who the hell do you think is going to fix it?

      You can call it a networking problem, but I would suggest if the manufacturer has given them all the same IP address ... these things aren't designed to be "networked" in any meaningful sense of the word.

      Do you really want to run the risk of fucking up the pumps because you think you have a solution which works?

      Because setting up a bunch of VMs so you can hook them up in a clever way and try to do this in parallel sounds like you have a better chance of it going wrong than going right.

      It may use some networking technology in a limited way, but it isn't a networked device ... from the sounds of it they use that networking port as little more than a serial connection. And if you start trying to connect them all at once with some fancy setup of your own, you have no frickin' idea how it's going to work or what will happen.

      You don't want to explain to the gas station owner why he has no working pumps and why the company who makes them wants no part of what you broke by doing it in an unapproved way.

      --
      Lost at C:>. Found at C.
    11. Re:It's not a networking issue. by vux984 · · Score: 4, Insightful

      I used to work as a field tech, back in the day.

      Yeah, "back in the day". Welcome to the new age of gps in trucks, and in company issued phones with fleet tracking.

    12. Re:It's not a networking issue. by msauve · · Score: 3, Insightful

      Using the AC power outlet conveniently located next to the pump? Or that the pumps provide PoE? And, you'll need dongles which retain their configuration and an AP which is configured with a different SSID for each. After that, you still need the switch/NAT stuff which makes it even possible.

      Better to simply buy 8 $100 used laptops off eBay, and use one for each pump.

      --
      "National Security is the chief cause of national insecurity." - Celine's First Law
    13. Re:It's not a networking issue. by cusco · · Score: 3, Insightful

      There is an answer to this, I've done something similar with security devices. Ideally you would use a hub, if you can still find one, rather than a switch. You'll need the MAC addresses of each pump first, well use 00-12-34-56-78-9A and 00-12-34-56-78-9B. Set a fixed IP address on your laptop, for example 172.16.16.16, and turn off your wireless. Open a command prompt as an Administrator and enter:

      arp -s 172.16.16.20 00-12-34-56-78-9A

      arp -s 172.16.16.21 00-12-34-56-78-9B

      Now your laptop thinks that you have pumps at address 172.16.16.20 and 172.16.16.21. Enjoy your extra time!

      --
      "Think about how stupid the average person is. Now, realise that half of them are dumber than that." - George Carlin
  2. wow, that makes me feel good by phantomfive · · Score: 4, Funny

    Unfortunately the devices are not actually on a network, and as such cannot be updated remotely, also since they are not on a network,

    It makes me feel good to know that something in this world is still air-gapped.

    --
    "First they came for the slanderers and i said nothing."
    1. Re:wow, that makes me feel good by Anonymous Coward · · Score: 4, Informative

      They aren't actually air-gapped. They are on a two-wire control network with the POS device - which is why the dispenser (NOT PUMP) can be stopped remotely from the POS. It is also how price changes, pre-authorizations (I want $20 on #7) are done. But that network doesn't allow firmware updates, just control.

      The original submitter probably doesn't know much about these if he calls them pumps. A station has only one pump per grade of fuel (although in some rare cases of multiple tanks even when they are connected together they may have 2 pumps per grade of fuel). The heads that people call "the gas pump" are dispensers only. They don't create the pressure that generates flow. He is reprogramming / flashing the dispenser control heads. It is normal for the ordinary consumer to call these things "gas pumps" - but people who work in the industry generally know better and would call them dispensers.

    2. Re:wow, that makes me feel good by uncqual · · Score: 4, Insightful

      Although, perhaps the original submitter called them "pumps" rather than "dispenser control heads" because they assumed that was what most /. readers would understand. Generally it's best to communicate in the language your audience understands unless it confuses others -- and you, allegedly knowing how these things work, seem pretty confident that you understood what the submitter meant. Mission accomplished.

      --
      Why is there an "insightful" mod and why isn't it "-1"? If I wanted insight, I wouldn't be reading /.
  3. If the headline is posed as a question, the answer by rwa2 · · Score: 4, Insightful

    ... is no.

    The thing you propose sounds fine. But do they really want to upgrade all of the pumps at once? Sounds like a great way to brick an entire facility.

    The only "improvement" I could think of would be to set up some kind of cheap router that can do MAC address filtering, that way you can set up the router to allow only one of each pump to show up as that one silly IP address at a time on a switched network. But then you'll still be able to only do one at a time.

    The "right" way to do this is just throw money at the problem and attach a real computer to each pump, with a separate interface to talk to the static IP. Maybe something as small as http://www.fit-pc.com/web/prod... or just some generic mini-ITX board in a telecom chassis or whatever.

  4. Solution by TooMuchToDo · · Score: 4, Informative

    1) Get a managed switch
    2) Configure all ports but one to be on their own VLANs
    3) Configure one port to be a trunk port
    4) Configure your laptop or other computing device to support trunking
    5) Configure your virtual machine so the entire process is scripted. It should boot, execute the upgrade procedure, and then provide logging for the process to you.
    6) Start VMs, with each configured on one of the VLANs.

    Done.

  5. Easy! by WPIDalamar · · Score: 4, Insightful

    Get 16 laptops.

    1. Re:Easy! by Kohath · · Score: 5, Informative

      Crappy used laptops are cheap. You don't need 16. You need 4. The first one will be about done by the time you get the 4th one started.

  6. Probably the way by phantomfive · · Score: 4, Interesting

    The only way I can figure to accomplish this with the software we've been provided is to do this: Get a 16-port powered USB hub, with a usb-ethernet adaptor in each port; Set up 16 VM's with extremely stripped down XP running on each, with only one USB-ethernet adaptor assigned to each VM; Set XP to boot the application for loading software as its shell; and load each device that way at the same time.

    That might be the best way, because you are limited by the software they gave you. Might consider trying Linux and Wine to save space. If that works, then you can load 16 raspberry pies into a briefcase and run it from there (I've seen similar operations for wireless monitoring).

    If you actually do build that setup, please take pics because it sounds kind of cool.

    --
    "First they came for the slanderers and i said nothing."
  7. KISS (Keep It Simple Stupid) by Ariastis · · Score: 3, Insightful

    Go on FleaBay and get a few older laptops for dirt cheap ; set one up with your software and copy it to all the others.

    You can now do thay many pumps at once, and if one has a problem it wont screw up the whole lot.

  8. Don't by HornWumpus · · Score: 5, Interesting

    If you fix this problem they will more then likely fire you. Nobody likes a smart-ass. They know what your time is worth, likely not much. Just do it the slow way.

    Seriously, you are an upgrade monkey.Just monkey on and look for a better job where you can use your skills and you will be _paid for them_.

    Alternatively: If your employer is contracting to do the upgrades, figure out how to do it in 25% of the time and take the business from them. They don't own their clients, but likely think they do.

    --
    John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
  9. None of these solutions "work" by mschuyler · · Score: 5, Insightful

    OP said "day to day" activities. He's updating one pump at a time. What are the other pumps doing? Dispensing gasoline. To update all 16 pumps at once would render all 16 pumps out of service for half an hour. That is simply unacceptable for the station. They would not want to just shut everything down and eliminate a half-hour's worth of revenue from 15 pumps just so OP is not inconvenienced.

    This is a typical IT viewpoint. We have a technical problem to solve, and to hell with the users. They're just in the way of our supreme elegance anyway.

    --
    How about a moderation of -1 pedantic.
  10. Re:follow defined procedures by Adriax · · Score: 4, Interesting

    Yup. A bunch of cheap single boards with ethernet would work. Like raspberry pi.
    Strip down the OS and script it to push the update from a given directory on boot up. Then you can just clone the SD card for 4/8/16 devices and update them with the new firmware as needed.

    Pi, case, battery with power switch, small SD card. $50-$75 a piece depending on how fancy your want to get with the case and battery.

    --
    I don't suffer from insanity, I enjoy every minute of it!
  11. Re:Why not just... by Minwee · · Score: 3, Interesting

    Is there anything that uses Ethernet without using */IP?

    I'm not even going to start answering that, but I am curious about one thing.

    Which major corporation are you the CIO for? Please be honest, as I stand to win $20 here.

  12. ToTo, I don't think we are on Slashdot anymore. by GrantRobertson · · Score: 4, Funny

    A competent, helpful answer in the third post.

  13. ...oh, and can anyone recommend an exacto knife? by aaarrrgggh · · Score: 3, Insightful

    Sometimes, for diagnostic purposes I also need to add a second read head to the credit card scanner. It would really be helpful if I could add this to the network, along with the keypad's diagnostic port. Any ideas?

    In all seriousness though, there are some real fire protection issues with taking cables from the pump zone elsewhere. Everything in and out needs to be properly sealed to prevent explosive vapors from entering into a non spark-resistant system.

  14. What's the best way to sharpen my football bat? by netsavior · · Score: 4, Funny

    I am having trouble with my billiards table, could you please tell me the best way to keep my football bat sharp so that my chlorine levels stay consistent?