diff --git a/openbsc/include/openbsc/gsm_data.h b/openbsc/include/openbsc/gsm_data.h
index bb790bc..a1e881a 100644
--- a/openbsc/include/openbsc/gsm_data.h
+++ b/openbsc/include/openbsc/gsm_data.h
@@ -337,6 +337,11 @@
 	struct tlv_parsed nm_attr;
 	u_int8_t nm_chan_comb;
 
+	struct {
+		u_int8_t maio;
+		u_int8_t hsn;
+	} hopping;
+
 	/* To which E1 subslot are we connected */
 	struct gsm_e1_subslot e1_link;
 
diff --git a/openbsc/src/abis_nm.c b/openbsc/src/abis_nm.c
index 6837305..8c6f518 100644
--- a/openbsc/src/abis_nm.c
+++ b/openbsc/src/abis_nm.c
@@ -1975,13 +1975,12 @@
 	fill_om_fom_hdr(oh, len, NM_MT_SET_CHAN_ATTR,
 			NM_OC_CHANNEL, bts->bts_nr,
 			ts->trx->nr, ts->nr);
-	/* FIXME: don't send ARFCN list, hopping sequence, mAIO, ...*/
-	if (bts->type == GSM_BTS_TYPE_BS11)
-		msgb_tlv16_put(msg, NM_ATT_ARFCN_LIST, 1, &arfcn);
 	msgb_tv_put(msg, NM_ATT_CHAN_COMB, chan_comb);
-	if (bts->type == GSM_BTS_TYPE_BS11) {
-		msgb_tv_put(msg, NM_ATT_HSN, 0x00);
-		msgb_tv_put(msg, NM_ATT_MAIO, 0x00);
+	if (ts->hopping.hsn) {
+		msgb_tv_put(msg, NM_ATT_HSN, ts->hopping.hsn);
+		msgb_tv_put(msg, NM_ATT_MAIO, ts->hopping.maio);
+		/* FIXME: compute ARFCN list */
+		msgb_tlv16_put(msg, NM_ATT_ARFCN_LIST, 1, &arfcn);
 	}
 	msgb_tv_put(msg, NM_ATT_TSC, bts->tsc);	/* training sequence */
 	if (bts->type == GSM_BTS_TYPE_BS11)
diff --git a/openbsc/src/bsc_vty.c b/openbsc/src/bsc_vty.c
index a17064d..51db0b1 100644
--- a/openbsc/src/bsc_vty.c
+++ b/openbsc/src/bsc_vty.c
@@ -305,6 +305,13 @@
 	if (ts->pchan != GSM_PCHAN_NONE)
 		vty_out(vty, "     phys_chan_config %s%s",
 			gsm_pchan_name(ts->pchan), VTY_NEWLINE);
+	if (ts->hopping.hsn) {
+		vty_out(vty, "      hopping sequence number %u%s",
+			ts->hopping.hsn, VTY_NEWLINE);
+		vty_out(vty, "      hopping maio %u%s",
+			ts->hopping.maio, VTY_NEWLINE);
+		/* FIXME: ARFCN list */
+	}
 	config_write_e1_link(vty, &ts->e1_link, "     ");
 }
 
@@ -1977,6 +1984,54 @@
 	return CMD_SUCCESS;
 }
 
+DEFUN(cfg_ts_hsn,
+      cfg_ts_hsn_cmd,
+      "hopping sequence number <0-63>",
+      "Which hopping sequence to use for this channel")
+{
+	struct gsm_bts_trx_ts *ts = vty->index;
+
+	ts->hopping.hsn = atoi(argv[0]);
+
+	return CMD_SUCCESS;
+}
+
+DEFUN(cfg_ts_maio,
+      cfg_ts_maio_cmd,
+      "hopping maio <0-63>",
+      "Which hopping MAIO to use for this channel")
+{
+	struct gsm_bts_trx_ts *ts = vty->index;
+
+	ts->hopping.maio = atoi(argv[0]);
+
+	return CMD_SUCCESS;
+}
+
+DEFUN(cfg_ts_arfcn_add,
+      cfg_ts_arfcn_add_cmd,
+      "hopping arfcn add <0-1023>",
+      "Add an entry to the hopping ARFCN list")
+{
+	struct gsm_bts_trx_ts *ts = vty->index;
+	int arfcn = atoi(argv[0]);
+
+	/* FIXME */
+	return CMD_SUCCESS;
+}
+
+DEFUN(cfg_ts_arfcn_del,
+      cfg_ts_arfcn_del_cmd,
+      "hopping arfcn del <0-1023>",
+      "Delete an entry to the hopping ARFCN list")
+{
+	struct gsm_bts_trx_ts *ts = vty->index;
+	int arfcn = atoi(argv[0]);
+
+	/* FIXME */
+	return CMD_SUCCESS;
+}
+
 DEFUN(cfg_ts_e1_subslot,
       cfg_ts_e1_subslot_cmd,
       "e1 line E1_LINE timeslot <1-31> sub-slot (0|1|2|3|full)",
@@ -2138,6 +2193,10 @@
 	install_element(TS_NODE, &ournode_exit_cmd);
 	install_element(TS_NODE, &ournode_end_cmd);
 	install_element(TS_NODE, &cfg_ts_pchan_cmd);
+	install_element(TS_NODE, &cfg_ts_hsn_cmd);
+	install_element(TS_NODE, &cfg_ts_maio_cmd);
+	install_element(TS_NODE, &cfg_ts_arfcn_add_cmd);
+	install_element(TS_NODE, &cfg_ts_arfcn_del_cmd);
 	install_element(TS_NODE, &cfg_ts_e1_subslot_cmd);
 
 	abis_nm_vty_init();
